Example #1
0
        public void Conversao_percentuais_DeveTerSucesso(decimal percentual, decimal baseCalculo)
        {
            //Arrange
            var desconto = Desconto.CriarPorValor(percentual, baseCalculo).Value;

            //Act
            decimal valorConvertido = desconto;

            //Assert
            valorConvertido.ShouldBe(desconto.Valor);
        }
Example #2
0
        public void DescontoPorValor_DescontoValido_DeveTerSucesso(decimal valor, decimal baseCalculo, decimal percentualEsperado)
        {
            //Arrange & Act
            var desconto = Desconto.CriarPorValor(valor, baseCalculo);

            //Assert
            desconto.IsSuccess.ShouldBeTrue();
            desconto.Value.Valor.ShouldBe(valor);
            desconto.Value.BaseCalculo.ShouldBe(baseCalculo);
            Math.Round(desconto.Value.Percentual, 2).ShouldBe(percentualEsperado);
            desconto.Value.TipoDescontoPedido.ShouldBe(TipoDesconto.Valor);
        }
Example #3
0
        public void DescontoPorValor_BaseCalculoZero_DeveFalhar()
        {
            //Arrange
            decimal valor       = 10m;
            decimal baseCalculo = 0m;

            //Act
            var desconto = Desconto.CriarPorValor(valor, baseCalculo);

            //Assert
            desconto.IsFailure.ShouldBeTrue();
            desconto.Error.ShouldContain(DescontoConstantes.BaseDeCaluculoNaoPodeSerIgualZero);
        }
Example #4
0
        public void DescontoPorValor_ValorNegativo_DeveFalhar()
        {
            //Arrange
            decimal valor       = -10m;
            decimal baseCalculo = 200.99m;

            //Act
            var desconto = Desconto.CriarPorValor(valor, baseCalculo);

            //Assert
            desconto.IsFailure.ShouldBeTrue();
            desconto.Error.ShouldContain(DescontoConstantes.ValorDescontoNaoPodeSerMenorQueZero);
        }