public void Service_Conta_AtualizarConta_DeveJogarExcessao_NotFoundException() { //Arrange var contaCmd = ContaObjectMother.GetContaValidaParaAtualizar(); _repositoryFake.Setup(x => x.GetById(contaCmd.Id)).Returns((Conta)null); //Action Action act = () => _service.Update(contaCmd); //Assert act.Should().Throw <NotFoundException>(); _repositoryFake.Verify(pr => pr.GetById(contaCmd.Id), Times.Once); _repositoryFake.Verify(pr => pr.Update(It.IsAny <Conta>()), Times.Never); }
public void Service_Conta_AtualizarConta_DevePassar() { //Arrange var conta = ContaObjectMother.GetContaValida(); var contaCmd = ContaObjectMother.GetContaValidaParaAtualizar(); var atualizado = true; _repositoryFake.Setup(x => x.GetById(contaCmd.Id)).Returns(conta); _repositoryFake.Setup(pr => pr.Update(conta)).Returns(atualizado); _repositoryClienteFake.Setup(cl => cl.GetById(contaCmd.ClienteId)).Returns(conta.Cliente); //Action var contaAtualizado = _service.Update(contaCmd); //Verify _repositoryFake.Verify(pr => pr.GetById(contaCmd.Id), Times.Once); _repositoryFake.Verify(pr => pr.Update(conta), Times.Once); contaAtualizado.Should().BeTrue(); }
public void Service_Conta_AtualizarContaMudarNumero_Nao_Deve_Permitir() { //Arrange var conta = ContaObjectMother.GetContaValida(); var contaCmd = ContaObjectMother.GetContaValidaParaAtualizar(); contaCmd.Id = 1; contaCmd.NumeroConta = 1500; _repositoryFake.Setup(x => x.GetById(It.IsAny <int>())).Returns(conta); _repositoryClienteFake.Setup(cl => cl.GetById(contaCmd.ClienteId)).Returns(conta.Cliente); //Action Action act = () => _service.Update(contaCmd); //Verify act.Should().Throw <ContaNumeroAlteradoException>(); _repositoryFake.Verify(x => x.GetById(It.IsAny <int>())); _repositoryFake.VerifyNoOtherCalls(); }
public void Controller_Contas_EfetuarTransferencia_DevePassar() { // Arrange var contaOrigem = ContaObjectMother.GetContaValida(); var contaDestino = ContaObjectMother.GetContaValidaParaAtualizar(); contaDestino.Id = 2; var isUpdated = true; var valor = 100; _contaServiceMock.Setup(c => c.EfetuarTrasferencia(contaOrigem.Id, contaDestino.Id, valor)).Returns(isUpdated); // Action IHttpActionResult callback = _contasController.EfetuarTransferencia(contaOrigem.Id, contaDestino.Id, valor); // Assert var httpResponse = callback.Should().BeOfType <OkNegotiatedContentResult <bool> >().Subject; httpResponse.Content.Should().BeTrue(); _contaServiceMock.Verify(s => s.EfetuarTrasferencia(contaOrigem.Id, contaDestino.Id, valor), Times.Once); }
public void Service_Conta_AtualizarConta_Com_IdCliente_Inesistente_DeveJogarExcessao_NotFoundException() { //Arrange var conta = ContaObjectMother.GetContaValida(); var contaCmd = ContaObjectMother.GetContaValidaParaAtualizar(); contaCmd.ClienteId = 20; var atualizado = false; _repositoryFake.Setup(x => x.GetById(contaCmd.Id)).Returns(conta); _repositoryFake.Setup(pr => pr.Update(conta)).Returns(atualizado); _repositoryClienteFake.Setup(cl => cl.GetById(contaCmd.ClienteId)).Returns((Cliente)null); //Action Action act = () => _service.Update(contaCmd); //Assert act.Should().Throw <NotFoundException>(); _repositoryFake.Verify(pr => pr.GetById(contaCmd.Id), Times.Once); _repositoryClienteFake.Verify(pr => pr.GetById(contaCmd.ClienteId), Times.Once); _repositoryFake.Verify(pr => pr.Update(It.IsAny <Conta>()), Times.Never); }