Exemple #1
0
        public void Cancelar_PedidoJaCancelado_DeveFalhar()
        {
            //Arrange
            Pedido pedido = new PedidoTestBuilder().Build().Value;

            //Act
            pedido.CancelarPedido();
            var result = pedido.CancelarPedido();

            //Assert
            result.IsFailure.ShouldBeTrue();
            result.Error.ShouldContain(PedidosConstantes.PedidoJaFoiCancelado);
        }
Exemple #2
0
        public void Pedido_Cancelar_DeveTerSucesso()
        {
            //Arrange
            Pedido pedido = new PedidoTestBuilder().Build().Value;

            //Act
            var result = pedido.CancelarPedido();

            //Assert
            result.IsSuccess.ShouldBeTrue();
            pedido.Comissao.ShouldBeNull();
            pedido.Desconto.ShouldBeNull();
        }
Exemple #3
0
        public void FecharPedido_StatusDiferenteEmAndamento_DeveFalhar()
        {
            //Arrange
            Pedido pedido = new PedidoTestBuilder().Build().Value;

            pedido.AdicionarItem(1, new Quantidade(1), new Preco(100));
            pedido.CancelarPedido();

            //Act
            Result result = pedido.FecharPedido(5, 0, 0, TipoDesconto.Valor);

            //Assert
            result.IsFailure.ShouldBeTrue();
            result.Error.ShouldContain(PedidosConstantes.PedidoDeveEstarEmAndamento);
            pedido.Status.ShouldBe(StatusPedido.Cancelado);
        }
Exemple #4
0
        public void RemoverItem_PedidoCancelado_DeveFalhar()
        {
            //Arrange
            Pedido pedido = new PedidoTestBuilder().Build().Value;

            pedido.AdicionarItem(2, new Quantidade(10), (Preco)1.99m);
            pedido.CancelarPedido();

            //Act
            Result result = pedido.RemoverItem(1);

            //Assert
            result.IsFailure.ShouldBeTrue();
            result.Error.ShouldContain(PedidosConstantes.PedidoCanceladoNaoPodeSerAlterado);
            pedido.Status.ShouldBe(StatusPedido.Cancelado);
        }