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); }
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)); }