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