Пример #1
0
        public void SaqueService_EstaNoLimite_SacaValorNoLimite()
        {
            // Arrange
            var configuracaoMock = new Mock <IConfiguracaoSaqueService>();

            configuracaoMock.Setup(o => o.IniciaCaixaEletronico()).Returns(new ConfiguracaoSaque
            {
                NotasDisponiveis = TipoNota.Dois | TipoNota.Cinco | TipoNota.Dez | TipoNota.Vinte | TipoNota.Cinquenta | TipoNota.Cem,
                ValorLimiteSaque = 1500
            });

            SaqueService saqueService = new SaqueService(configuracaoMock.Object);

            // Act
            var resultado = saqueService.EstaNoLimite(new SaqueDTO {
                ValorRequisitado = 1500
            });

            // Assert
            Assert.IsTrue(resultado);
        }
Пример #2
0
        public IActionResult Index(SaqueViewModel saqueViewModel)
        {
            SaqueService saqueService = new SaqueService();

            SaqueDTO saqueDTO = new SaqueDTO {
                ValorRequisitado = saqueViewModel.ValorRequisitado
            };

            if (!saqueService.EstaNoLimite(saqueDTO))
            {
                saqueViewModel.Erro = @"O valor informado passou do limite de R$ 1.500,00.";
                return(View(saqueViewModel));
            }

            if (!saqueService.ValorRequisitadoValido(saqueDTO))
            {
                saqueViewModel.Erro = @"O valor informado é inválido. Favor informar um valor múltiplo de 2, 5, 10, 20, 50 ou 100.";
                return(View(saqueViewModel));
            }

            saqueViewModel.ValoresSaque = saqueService.RealizaSaque(saqueDTO);

            return(View(saqueViewModel));
        }