public async Task Criar_OK() { //Prepara var idGerado = Guid.NewGuid(); var servicoMock = new Mock <IServicoPersistenciaBase <EntidadeTestePersistenciaModel> >(); var retornoCriar = new EntidadeTestePersistenciaModel { Id = idGerado, Nome = "valor-retornado", Idade = 10 }; servicoMock .Setup(s => s.Criar(It.IsAny <EntidadeTestePersistenciaModel>(), It.IsAny <Boolean>())) .ReturnsAsync(retornoCriar); var controllerEmTeste = new ControllerEmTeste(servicoMock.Object); var request = new EntidadeTestePersistenciaModel(); //Executa var resp = await controllerEmTeste.criar(request); //Verifica servicoMock.Verify(s => s.Criar(request, true)); resp.Should() .BeOfType <CreatedAtActionResult>() .And .BeEquivalentTo(new CreatedAtActionResult("criar", null, null, retornoCriar)); }
public async Task BuscarPorId_NaoEncontrado_GeraException() { //Prepara var idGerado = Guid.NewGuid(); var response = new EntidadeTestePersistenciaModel { Id = idGerado, Idade = 10, Nome = "entidade-a", }; var servicoMock = new Mock <IServicoPersistenciaBase <EntidadeTestePersistenciaModel> >(); servicoMock .Setup(s => s.BuscarPorId(It.IsAny <Guid>())) .ThrowsAsync(new EntidadeNaoExisteException()); var controllerEmTeste = new ControllerEmTeste(servicoMock.Object); //Executa var resp = await controllerEmTeste.buscarPorId(idGerado); //Verifica resp.Should() .BeOfType <NotFoundObjectResult>(); var notfound = resp as NotFoundObjectResult; notfound.Value.Should() .BeOfType <string>() .And .Be("Registro não encontrado"); }
public async Task BuscarPorId_OK() { //Prepara var idGerado = Guid.NewGuid(); var response = new EntidadeTestePersistenciaModel { Id = idGerado, Idade = 10, Nome = "entidade-a", }; var servicoMock = new Mock <IServicoPersistenciaBase <EntidadeTestePersistenciaModel> >(); servicoMock .Setup(s => s.BuscarPorId(It.IsAny <Guid>())) .ReturnsAsync(response); var controllerEmTeste = new ControllerEmTeste(servicoMock.Object); var request = new EntidadeTestePersistenciaModel(); //Executa var resp = await controllerEmTeste.buscarPorId(idGerado); //Verifica servicoMock.Verify(s => s.BuscarPorId(idGerado)); resp.Should() .BeOfType <OkObjectResult>() .And .BeEquivalentTo(new OkObjectResult(response)); }
public async Task Alterar_ExceptionNaoEncontrado_NotFound() { //Prepara var servicoMock = new Mock <IServicoPersistenciaBase <EntidadeTestePersistenciaModel> >(); servicoMock .Setup(s => s.Alterar(It.IsAny <EntidadeTestePersistenciaModel>(), It.IsAny <Boolean>())) .ThrowsAsync(new EntidadeNaoExisteException()); var controllerEmTeste = new ControllerEmTeste(servicoMock.Object); var request = new EntidadeTestePersistenciaModel(); //Executa var resp = await controllerEmTeste.alterar(request); //Verifica resp.Should() .BeOfType <NotFoundObjectResult>(); var notfound = resp as NotFoundObjectResult; notfound.Value.Should() .BeOfType <string>() .And .Be("Registro não encontrado"); }
public async Task Alterar_ExceptionValidacao_BadRequest() { //Prepara var servicoMock = new Mock <IServicoPersistenciaBase <EntidadeTestePersistenciaModel> >(); servicoMock .Setup(s => s.Alterar(It.IsAny <EntidadeTestePersistenciaModel>(), It.IsAny <Boolean>())) .ThrowsAsync(new ValidacaoPersistenciaException(new[] { new ErroValidacaoPropriedade("PROP1", new [] { "ERRO A" }), new ErroValidacaoPropriedade("PROP2", new [] { "ERRO B" }), })); var controllerEmTeste = new ControllerEmTeste(servicoMock.Object); var request = new EntidadeTestePersistenciaModel(); //Executa var resp = await controllerEmTeste.alterar(request); //Verifica resp.Should() .BeOfType <BadRequestObjectResult>(); var badrequest = resp as BadRequestObjectResult; badrequest.Value.Should().BeOfType <ValidacaoPersistenciaException>(); var validacaoexc = badrequest.Value as ValidacaoPersistenciaException; validacaoexc.Erros.Should().BeEquivalentTo(new[] { new ErroValidacaoPropriedade("PROP1", new [] { "ERRO A" }), new ErroValidacaoPropriedade("PROP2", new [] { "ERRO B" }), }); }
public async Task Excluir_OK() { //Prepara var idGerado = Guid.NewGuid(); var servicoMock = new Mock <IServicoPersistenciaBase <EntidadeTestePersistenciaModel> >(); var controllerEmTeste = new ControllerEmTeste(servicoMock.Object); var request = new EntidadeTestePersistenciaModel(); //Executa var resp = await controllerEmTeste.excluir(idGerado); //Verifica servicoMock.Verify(s => s.Excluir(idGerado, true)); resp.Should() .BeOfType <NoContentResult>(); }