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); }
public void RemoverItem_IdValido_DeveTerSucesso() { //Arrange Pedido pedido = new PedidoTestBuilder().Build().Value; int idItem = 0; pedido.AdicionarItem(1, (Quantidade)10, (Preco)1.99m); //Act Result result = pedido.RemoverItem(idItem); //Assert result.IsSuccess.ShouldBeTrue(); pedido.Itens.Count.ShouldBe(0); pedido.Total.Valor.ShouldBe(0); }
public void RemoverItem_IdInvalido_DeveFalhar() { //Arrange Pedido pedido = new PedidoTestBuilder().Build().Value; int idItem = 1; pedido.AdicionarItem(1, (Quantidade)10, (Preco)1.99m); //Act Result result = pedido.RemoverItem(idItem); //Assert result.IsFailure.ShouldBeTrue(); result.Error.ShouldContain(string.Format(PedidosConstantes.PedidosItemInformadoNaoFoiLocalizado, idItem)); pedido.Itens.Count.ShouldBe(1); pedido.Total.Valor.ShouldBe(19.90m); }
public void RemoverItem_PedidoFechado_DeveFalhar() { //Arrange Pedido pedido = new PedidoTestBuilder().Build().Value; pedido.AdicionarItem(2, new Quantidade(10), (Preco)1.99m); pedido.FecharPedido(5, 0, 0, TipoDesconto.Valor); //Act Result result = pedido.RemoverItem(1); //Assert result.IsFailure.ShouldBeTrue(); result.Error.ShouldContain(PedidosConstantes.PedidoFechadoNaoPodeSerAlterado); pedido.Itens.Count.ShouldBe(1); pedido.Total.Valor.ShouldBe(19.9m); pedido.Status.ShouldBe(StatusPedido.Fechado); }