示例#1
0
 function it_merges_equal_items(OrderItemInterface $item1, OrderItemInterface $item2)
 {
     $item1->setOrder($this)->shouldBeCalled();
     $item1->equals($item2)->willReturn(true);
     $item2->equals($item1)->willReturn(true);
     $item1->merge($item2, false)->willReturn($this)->shouldBeCalled();
     $this->addItem($item1)->addItem($item2);
     $this->countItems()->shouldReturn(1);
 }
示例#2
0
 function it_calculates_correct_total_when_adjustment_is_bigger_than_cost(OrderItemInterface $item, AdjustmentInterface $adjustment)
 {
     $item->getTotal()->willReturn(45000);
     $item->equals(Argument::any())->willReturn(false);
     $item->setOrder($this)->shouldBeCalled();
     $adjustment->isNeutral()->willReturn(false);
     $adjustment->getAmount()->willReturn(-100000);
     $adjustment->setAdjustable($this)->shouldBeCalled();
     $this->addItem($item);
     $this->addAdjustment($adjustment);
     $this->getTotal()->shouldReturn(0);
 }