Beispiel #1
0
        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);
        }
Beispiel #2
0
        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();
        }
Beispiel #3
0
        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();
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
        }