public void Get_CompraFamiliaTest() { var _service = new Mock <FamiliaService>(); var _controller = new FamiliaController(_service.Object); //NombreFamilia, FechaInicio, FechaFinal //FamiliaId, TiendaId, ProductoId, Cantidad, FechaCompra var familia = new FamiliaDto { FamiliaId = 1, Nombre = "FamiliaPrueba", Dni = "77634087", Compras = new List <CompraDto> { new CompraDto { TiendaId = 1, ProductoId = 001, Cantidad = 15, //FechaCompra = 2020-05-22 14:17:16 } } }; //var result = _controller.GetCompras("FamiliaPrueba", '2010-05-22 14:17', '2010-05-22 14:16'); // Assert //Assert.IsType<OkObjectResult>(familia); }
public async Task DeveInserirFamilia() { //Given var pessoaId = Guid.NewGuid(); var dto = new FamiliaDto { Pessoas = new List <PessoaDto> { new PessoaDto { Id = pessoaId, Nome = _faker.Person.FullName, DataDeNascimento = _faker.Date.Past().Date, DescricaoTipoDaPessoa = "Cônjuge" }, }, RendaPorPessoas = new List <RendaPorPessoaDto> { new RendaPorPessoaDto { Id = Guid.NewGuid(), PessoaId = pessoaId, Valor = _faker.Random.Decimal(35) }, } }; var(response, retorno) = await PostFamilia(dto); //Then Assert.Equal(HttpStatusCode.OK, response.StatusCode); Assert.NotNull(retorno); Assert.Equal(0, dto.Status); //Cadastro completo }
public async Task <Resultado> Cadastrar(FamiliaDto familiaDto) { var status = await _familiaRepository.ObterStatus(familiaDto.StatusId); var familia = _familiaFactory.Criar(status); foreach (var pessoa in familiaDto.Pessoas) { familia.CriarPessoa( Nome.CriarNovo(pessoa.Nome), Idade.CriarNovo(pessoa.DataDeNascimento), pessoa.Tipo, pessoa.Renda.HasValue ? Renda.CriarNovo(pessoa.Renda.Value) : null); } if (!familia.Validar()) { return(Resultado.Erro("Familia deve possuir apenas um pretendente e apenas um cônjuge.")); } await _familiaRepository.Adicionar(familia); if (familia.Status.CadastroValido) { await _calculoDePontosDosCriteriosAtendidos.Executar(familia); } return(Resultado.OK()); }
public void Add_InvalidObjectPassed_ReturnBadRequest() { var _service = new Mock <FamiliaService>(); var _controller = new FamiliaController(_service.Object); // Arrange FamiliaCreateDto modelCreateDto = new FamiliaCreateDto { FamiliaNombre = "RiverdaleFam77", Dni = "12345677", AceptaSolicitudes = true }; FamiliaDto modelDto = new FamiliaDto { Nombre = "RiverdaleFam77" }; _service.Setup(x => x.Create(modelCreateDto)).Returns(modelCreateDto); // Act ActionResult result = _controller.Create(modelCreateDto); Assert.Equal("RiverdaleFam77", modelCreateDto.FamiliaNombre); }
private bool ValidarDto(FamiliaDto dto) { if (dto == null) { Notificador.Notificar("Dto", FamiliaDicionarioDeMensagensDeValidacao.MensagemDtoInvalido); return(false); } return(true); }
public async Task <IActionResult> Cadastrar(FamiliaDto familiaDto) { var resultado = await _cadastroDeFamilia.Cadastrar(familiaDto); if (resultado.Falhou) { return(BadRequest(resultado.MensagemDeErro)); } return(Ok()); }
public IHttpActionResult CreateFamilia(FamiliaDto familiaDto) { if (!ModelState.IsValid) { return(BadRequest()); } var familia = Mapper.Map <FamiliaDto, Familia>(familiaDto); _context.Familias.Add(familia); _context.SaveChanges(); familiaDto.Id = familia.Id; return(Created(new Uri(Request.RequestUri + "/" + familia.Id), familiaDto)); }
private async Task <(HttpResponseMessage, FamiliaDto)> PostFamilia(FamiliaDto dto) { var json = JsonConvert.SerializeObject(dto); var data = new StringContent(json, Encoding.UTF8, "application/json"); var response = await _client.PostAsync("/api/familia", data); response.EnsureSuccessStatusCode(); var responseString = await response.Content.ReadAsStringAsync(); return( response, JsonConvert.DeserializeObject <FamiliaDto>(responseString) ); }
public void Get_NotContentFamiliaTest() { var _service = new Mock <FamiliaService>(); var _controller = new FamiliaController(_service.Object); // FamiliaDto familia = new FamiliaDto { Nombre = "RiverdaleFam11", FamiliaId = 100 }; var result = _controller.GetFamilia(778); //Assert //Assert.IsType<NoContentResult>(result); }
public void Get_FamiliaTest() { var _service = new Mock <FamiliaService>(); var _controller = new FamiliaController(_service.Object); // FamiliaDto familia = new FamiliaDto { Nombre = "RiverdaleFam77", FamiliaId = 100 }; var result = _controller.GetFamilia(100); //Assert Assert.IsType <OkObjectResult>(result); }
public void Get_UsuariosTest() { var _service = new Mock <FamiliaService>(); var _controller = new FamiliaController(_service.Object); //Arrange var familia = new FamiliaDto { FamiliaId = 1, Nombre = "Familia1", Dni = "18976453", UsuarioFamilias = new List <UsuarioFamiliaDto> { new UsuarioFamiliaDto { Usuario = new UsuarioDto { Dni = "18976453", Nombre = "Pepito", ApellidoMaterno = "Pérez", ApellidoPaterno = "Cieza", Contrasena = "343rf2d", RolUsuarios = new List <RolUsuarioDto> { new RolUsuarioDto { RolPerfil = new RolPerfilDto { RolPerfilId = 1, Descripcion = "Administrador", Perfil = new PerfilDto { PerfilId = 1, Descripcion = "Grupo Familiar" } } } } } } } }; var firstUser = familia.UsuarioFamilias.First().Usuario; //_service.Setup(x => x.GetByFamiliaNombre("Familia1")).Returns(familia); //act var result = _controller.GetUsuariosByNombreFamilia("Familia1"); // Assert Assert.IsType <OkObjectResult>(result); }
public void UpdateFamilia(int id, FamiliaDto familiaToUpdate) { if (!ModelState.IsValid) { throw new HttpResponseException(HttpStatusCode.BadRequest); } var familia = _context.Familias.SingleOrDefault(f => f.Id == id); if (familia == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } Mapper.Map(familiaToUpdate, familia); _context.SaveChanges(); }
public void Deve_mapear_uma_familia() { var id = Guid.NewGuid(); const Status status = Status.CadastroValido; var pessoaUmDto = new PessoaDto { DataDeNascimento = new DateTime(1997, 07, 03), Id = id, Nome = "Maria", Tipo = TipoDePessoa.Conjuge }; var pessoaDoisDto = new PessoaDto { DataDeNascimento = new DateTime(1996, 06, 17), Id = id, Nome = "João", Tipo = TipoDePessoa.Pretendete }; var pessoas = new[] { pessoaDoisDto, pessoaUmDto }; var rendaUmDto = new RendaDto { IdPessoa = id, Valor = 500 }; var rendaDoisDto = new RendaDto { IdPessoa = id, Valor = 800 }; var rendas = new[] { rendaDoisDto, rendaUmDto }; var familiaDto = new FamiliaDto { Id = id, Pessoas = pessoas, Rendas = rendas, Status = status }; var familiaEsperada = new { Id = id, Status = status }; var familiaObtida = MapeadorDeFamilia.Mapear(familiaDto); familiaEsperada.ToExpectedObject().ShouldMatch(familiaObtida); }
public void Get_RemoveFamiliaReturnBadRequest() { var _service = new Mock <FamiliaService>(); var _controller = new FamiliaController(_service.Object); //String nombreFamilia, string Dni var familia = new FamiliaDto { FamiliaId = 1, Nombre = "FamiliaPrueba", Dni = "77102417", UsuarioFamilias = new List <UsuarioFamiliaDto> { new UsuarioFamiliaDto { Usuario = new UsuarioDto { Dni = "09102417", Nombre = "Coco", ApellidoMaterno = "Nut", ApellidoPaterno = "Sunn", Contrasena = "1ab2c3d", RolUsuarios = new List <RolUsuarioDto> { new RolUsuarioDto { RolPerfil = new RolPerfilDto { RolPerfilId = 2, Descripcion = "Miembro Grupo Familiar", Perfil = new PerfilDto { PerfilId = 1, Descripcion = "Grupo Familiar" } } } } } } } }; var result = _controller.Remove("FamiliaPruebaBien", "77634087"); // Assert Assert.IsType <OkObjectResult>(result); //Assert.IsType<BadRequestResult>(result); }
public static Familia Mapear(FamiliaDto familiaDto) { var pessoas = familiaDto.Pessoas.Select(MapeadorDePessoa.Mapear).ToList(); foreach (var rendaDto in familiaDto.Rendas) { var renda = MapeadorDeRenda.Mapear(rendaDto.Valor); var pessoaQueDeveTerRendaAdicionada = pessoas.First(p => p.Id == rendaDto.IdPessoa); pessoaQueDeveTerRendaAdicionada.Adicionar(renda); } var familia = new Familia(familiaDto.Id, familiaDto.Status); foreach (var pessoa in pessoas) { familia.Adicionar(pessoa); } return(familia); }
public async Task <FamiliaDto> Armazenar(FamiliaDto dto) { if (!ValidarDto(dto)) { return(null); } if (!ValidarPessoas(dto.Pessoas)) { return(null); } if (!ValidarRendaPorPessoas(dto.RendaPorPessoas)) { return(null); } if (await ValidarSeHaPessoasJahInformadasEmOutraFamilia(dto.Pessoas)) { return(null); } var familia = new Familia( InstanciaPessoas(dto.Pessoas), InstanciaRendaPorPessoas(dto.RendaPorPessoas) ); if (familia.Invalid) { Notificador.Notificar(familia.Notificacoes); return(null); } await _familiaRepositorio.Incluir(familia); await _familiaRepositorio.Salvar(); return(MontarDtoDeRetorno(familia)); }
public async Task <FamiliaDto> Armazenar(FamiliaDto dto) { if (!ValidarDto(dto)) { return(null); } if (!ValidarPessoas(dto.Pessoas)) { return(null); } if (!ValidarRendaPorPessoas(dto.RendaPorPessoas)) { return(null); } var familia = new Familia( dto.Id, InstanciaPessoas(dto.Pessoas), InstanciaRendaPorPessoas(dto.RendaPorPessoas), dto.Status ); var pontuacaoPorFamilia = new PontuacaoPorFamilia(familia); if (pontuacaoPorFamilia.Invalid) { Notificador.Notificar(pontuacaoPorFamilia.Notificacoes); return(null); } await _pontuacaoPorFamiliaRepositorio.Incluir(pontuacaoPorFamilia); await _pontuacaoPorFamiliaRepositorio.Salvar(); return(MontarDtoDeRetorno(pontuacaoPorFamilia)); }
public ClassificacaoDeFamiliasTestes() { _criterioRepositorio = new Mock <ICriterioRepositorio>(); _comunicacaoComContemplados = new Mock <IComunicacaoComContemplados>(); _classificacaoDeFamilias = new ClassificacaoDeFamilias(_criterioRepositorio.Object, _comunicacaoComContemplados.Object); _idFamilia = new Guid("12345678-1234-4567-8901-012345678912"); _idFamiliaDois = new Guid("12345678-1234-4567-8901-012345678921"); var idPessoaUm = new Guid("12345678-1234-4567-8901-012345679812"); var idPessoaDois = new Guid("12345678-1234-4567-8901-102345678912"); var idPessoaTres = new Guid("12345678-1234-4567-8901-012346578912"); const Status status = Status.CadastroValido; _pessoaUmDto = new PessoaDto { DataDeNascimento = new DateTime(1997, 07, 03), Id = idPessoaUm, Nome = "Maria", Tipo = TipoDePessoa.Conjuge }; _pessoaDoisDto = new PessoaDto { DataDeNascimento = new DateTime(1996, 06, 17), Id = idPessoaDois, Nome = "João", Tipo = TipoDePessoa.Pretendete }; _pessoaTresDto = new PessoaDto { DataDeNascimento = new DateTime(1999, 06, 17), Id = idPessoaTres, Nome = "Karina", Tipo = TipoDePessoa.Pretendete }; _pessoasDaFamiliaUm = new[] { _pessoaUmDto, _pessoaDoisDto }; _rendaUmDto = new RendaDto { IdPessoa = idPessoaUm, Valor = 500 }; _rendaDoisDto = new RendaDto { IdPessoa = idPessoaDois, Valor = 800 }; _rendaTresDto = new RendaDto { IdPessoa = idPessoaTres, Valor = 500 }; var rendasDaFamiliaUm = new[] { _rendaDoisDto, _rendaUmDto }; _familiaUm = new FamiliaDto { Id = _idFamilia, Pessoas = _pessoasDaFamiliaUm, Rendas = rendasDaFamiliaUm, Status = status }; _pessoasDaFamiliaDois = new[] { _pessoaTresDto }; var rendasDaFamiliaDois = new[] { _rendaTresDto }; _familiaDois = new FamiliaDto { Id = _idFamiliaDois, Pessoas = _pessoasDaFamiliaDois, Rendas = rendasDaFamiliaDois, Status = status }; _criterioDeRendaInferiorA900 = new CriterioDeRendaInferiorA900(); _criterioDeRendaEntre901Ah1500 = new CriterioDeRendaEntre901Ah1500(); _criterioDeRendaEntre1501Ah2000 = new CriterioDeRendaEntre1501Ah2000(); _criterioDePretendenteComIdadeEntre30Ah44Anos = new CriterioDePretendenteComIdadeEntre30Ah44Anos(); _criterioDePretendenteComIdadeInferiorA30Anos = new CriterioDePretendenteComIdadeInferiorA30Anos(); _criterioDePretendenteComIdadeIgualOuMaiorA45Anos = new CriterioDePretendenteComIdadeIgualOuMaiorA45Anos(); _criterioDe1Ou2DependentesMenoresDeIdade = new CriterioDe1Ou2DependentesMenoresDeIdade(); _criterioDe3OuMaisDependentesMenoresDeIdade = new CriterioDe3OuMaisDependentesMenoresDeIdade(); var criterios = new Criterio[] { _criterioDeRendaInferiorA900, _criterioDeRendaEntre901Ah1500, _criterioDeRendaEntre1501Ah2000, _criterioDePretendenteComIdadeEntre30Ah44Anos, _criterioDePretendenteComIdadeInferiorA30Anos, _criterioDePretendenteComIdadeIgualOuMaiorA45Anos, _criterioDe1Ou2DependentesMenoresDeIdade, _criterioDe3OuMaisDependentesMenoresDeIdade }; _criterioRepositorio.Setup(cr => cr.ObterTodos()).Returns(criterios); }
public async Task <ActionResult> Salvar([FromServices] IArmazenadorDePontuacaoPorFamilia servico, [FromBody] FamiliaDto dto) => Ok(await servico.Armazenar(dto));