public async Task Deve_Adicionar_Nova_Entrada_De_Regra_No_Banco_Desenv() { //Arrange IRepositorioDeRegras repo = TesteInfraService.ServiceProvider.GetService <IRepositorioDeRegras>(); Mock <IFavorecimento> favorecimentoMock = new Mock <IFavorecimento>(); favorecimentoMock.SetupAllProperties(); Profissional funcionario1 = new Profissional(1, null, "Fernando"); Profissional funcionario2 = new Profissional(2, null, "Bronze"); Profissional funcionario3 = new Profissional(3, null, "Cinco"); Profissional[] funcionarios = new Profissional[] { funcionario1, funcionario2, funcionario3 }; ParametrosDeRegraDeRemuneracao parametros = LOMock.GeraParametrosDeRegraDeRemuneracaoPorHoraMock(percentual: 50, vigencia: new PeriodoSimples(new DateTime(2018, 05, 01), new DateTime(2018, 08, 24))); RegraPorHora regraHora = null;//new RegraPorHora(parametros); int idInserido; //Act idInserido = await repo.InserirAsync(regraHora); throw new NotImplementedException(); //IRegraDeRemuneracao[] regraObtida = await repo.ObterAsync(new int[] { idInserido }); ////Assert //Assert.IsNotNull(regraObtida[0]); //Assert.AreEqual(regraHora.Tipo, regraObtida[0].Tipo); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var remuneracao = new RegraPorHora(); serializer.Populate(reader, remuneracao); return(remuneracao); }
public async Task Deve_Vincular_Regras_A_Contrato() { //Arrange IRepositorioDeContratoDeRemuneracao repoContrato = TesteInfraService.ServiceProvider.GetService <IRepositorioDeContratoDeRemuneracao>(); IRepositorioDeRegras repoRegra = TesteInfraService.ServiceProvider.GetService <IRepositorioDeRegras>(); Mock <IFavorecimento> favorecimentoMock = new Mock <IFavorecimento>(); favorecimentoMock.SetupAllProperties(); Profissional funcionario1 = new Profissional(1, null, "Fernando"); Profissional funcionario2 = new Profissional(2, null, "Bronze"); Profissional funcionario3 = new Profissional(3, null, "Cinco"); Profissional[] funcionarios = new Profissional[] { funcionario1, funcionario2, funcionario3 }; ParametrosDeRegraDeRemuneracao parametros = LOMock.GeraParametrosDeRegraDeRemuneracaoPorHoraMock(percentual: 50, vigencia: new PeriodoSimples(new DateTime(2018, 05, 01), new DateTime(2018, 08, 24))); RegraPorHora regraHora1 = null;//new RegraPorHora(parametros); parametros = LOMock.GeraParametrosDeRegraDeRemuneracaoPorHoraMock(percentual: 60, vigencia: new PeriodoSimples(new DateTime(2018, 06, 01), new DateTime(2018, 08, 24))); RegraPorHora regraHora2 = null;//new RegraPorHora(parametros); parametros = LOMock.GeraParametrosDeRegraDeRemuneracaoPorHoraMock(percentual: 70, vigencia: new PeriodoSimples(new DateTime(2018, 07, 01), new DateTime(2018, 08, 24))); RegraPorHora regraHora3 = null;// new RegraPorHora(parametros); ContratoDeRemuneracao contratoCriado = new ContratoDeRemuneracao(new PeriodoSimples(new DateTime(2018, 03, 01), new DateTime(2018, 04, 01))); //Act List <int> idsRegra = new List <int> { { await repoRegra.InserirAsync(regraHora1) }, { await repoRegra.InserirAsync(regraHora2) }, { await repoRegra.InserirAsync(regraHora3) } }; int idContrato = await repoContrato.InserirAsync(contratoCriado); await repoContrato.AtualizaVinculosAsync(idContrato, idsRegra.ToArray()); IContratoDeRemuneracao[] contratoObtido = await repoContrato.ObterAsync(new int[] { idContrato }); IRegraDeRemuneracao[] regrasObtidas = (await repoRegra.ObterAsync(idsRegra.ToArray())).Select(p => p.Tipo.Construtor(null, null).ComParametros(p).ComFavorecimento(favorecimentoMock.Object).Construir()).ToArray(); IEnumerable <IRegraDeRemuneracao> regrasVinculadas = contratoObtido[0].Regras; //Assert Assert.AreEqual(idContrato, contratoObtido[0].Id); Assert.IsNotNull(regrasVinculadas); Assert.IsTrue(regrasVinculadas.Count() > 0); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var remuneracao = new RegraPadrao(); JObject jo = JObject.Load(reader); serializer.Populate(jo.CreateReader(), remuneracao); if (remuneracao.Tipo == TipoDeRegra.Fixa) { var retorno = new RegraFixaPorValor(remuneracao.Parametros); serializer.Populate(jo.CreateReader(), retorno); return(retorno); } else { var retorno = new RegraPorHora(remuneracao.Parametros); serializer.Populate(jo.CreateReader(), retorno); return(retorno); } }