public void DeveAdicionarUmNovoAnimal() { var idUsuario = Guid.NewGuid(); var usuarioViewModel = UsuarioViewModelFactory.CriarUmUsuarioValido(idUsuario); var usuario = UsuarioFactory.CriarUmUsuarioValido(idUsuario); var animalViewModel = AnimalViewModelFactory.CriarUmAnimal(usuarioViewModel); var animal = AnimalFactory.CriarUmAnimal(usuario); _mapper.Map <Animal>(animalViewModel).Returns(animal); animalAppService.Add(animalViewModel); _uow.Received().BeginTransaction(); _mapper.Received().Map <Animal>(animalViewModel); _animalService.Received().Add(Arg.Any <Animal>()); }
public void AoTentarAdicionarUmNovoAnimalThrowAnyExceptionMap_ThrowException() { var idUsuario = Guid.NewGuid(); var usuarioViewModel = UsuarioViewModelFactory.CriarUmUsuarioValido(idUsuario); var usuario = UsuarioFactory.CriarUmUsuarioValido(idUsuario); var animalViewModel = AnimalViewModelFactory.CriarUmAnimal(usuarioViewModel); var animal = AnimalFactory.CriarUmAnimal(usuario); _mapper.Map <Animal>(animalViewModel).Returns(x => { throw new Exception(); }); animalAppService.Add(animalViewModel); _uow.Received().BeginTransaction(); _mapper.Received().Map <Animal>(animalViewModel); _animalService.DidNotReceive().Add(Arg.Any <Animal>()); }
public void DeveObterTodosOsAnimaisCadastrados_RetornarAnimais() { var idUsuario = Guid.NewGuid(); var usuario = UsuarioFactory.CriarUmUsuarioValido(idUsuario); var usuarioViewModel = UsuarioViewModelFactory.CriarUmUsuarioValido(idUsuario); var listaDeAnimalDomain = new List <Animal> { AnimalFactory.CriarUmAnimal(usuario) }; var listaDeAnimalViewModel = new List <AnimalViewModel> { AnimalViewModelFactory.CriarUmAnimal(usuarioViewModel) }; _animalService.GetAll().Returns(listaDeAnimalDomain); _mapper.Map <IEnumerable <AnimalViewModel> >(listaDeAnimalDomain).Returns(listaDeAnimalViewModel); var retorno = animalAppService.GetAll(); Assert.IsNotNull(retorno); Assert.AreEqual(listaDeAnimalViewModel, retorno); _animalService.Received().GetAll(); _mapper.Received().Map <IEnumerable <AnimalViewModel> >(listaDeAnimalDomain); }