Пример #1
0
 /**
  * Add Product Nine
  *
  * @param Basket $basket
  * @return Basket
  */
 private function addProductNine(Basket $basket)
 {
     $nine = $this->products->nine();
     $basket->add($nine->sku, $nine->name, $nine->price, function ($product) use($nine) {
         $product->quantity($nine->quantity);
         $product->freebie($nine->freebie);
         $product->delivery($nine->delivery);
     });
     return $basket;
 }
 /** @test */
 public function should_reconcile_product_fixture_nine()
 {
     $product = $this->fixtures->nine();
     $value = $this->reconciler->value($product);
     $discount = $this->reconciler->discount($product);
     $delivery = $this->reconciler->delivery($product);
     $tax = $this->reconciler->tax($product);
     $subtotal = $this->reconciler->subtotal($product);
     $total = $this->reconciler->total($product);
     $this->assertEquals(new Money(7500, new Currency('GBP')), $value);
     $this->assertEquals(new Money(0, new Currency('GBP')), $discount);
     $this->assertEquals(new Money(297, new Currency('GBP')), $delivery);
     $this->assertEquals(new Money(0, new Currency('GBP')), $tax);
     $this->assertEquals(new Money(297, new Currency('GBP')), $subtotal);
     $this->assertEquals(new Money(297, new Currency('GBP')), $total);
 }