Example #1
0
 public static function initialize(Config $config)
 {
     ItemTrait::initialize($config);
     InheritedTrait::initialize($config);
     TimestampsTrait::initialize($config);
     $config->addRels([new Rel\BelongsTo('purchase', $config, Purchase::getRepo()), new Rel\BelongsTo('storePurchase', $config, StorePurchase::getRepo())]);
 }
Example #2
0
 /**
  * @coversNothing
  */
 public function testIntegration()
 {
     $purchaseItem = PurchaseItem::find(1);
     $order = Purchase::find(1);
     $purchase = StorePurchase::find(1);
     $this->assertSame($order, $purchaseItem->getPurchase());
     $this->assertSame($purchase, $purchaseItem->getStorePurchase());
 }
Example #3
0
 public static function initialize(Config $config)
 {
     ValueTrait::initialize($config);
     TransferTrait::initialize($config);
     TimestampsTrait::initialize($config);
     $config->addRels([new Rel\BelongsTo('storePurchase', $config, StorePurchase::getRepo())])->addAsserts([new Assert\GreaterThan('value', 0), new Assert\Callback('value', function ($refund) {
         return $refund->getValue()->lessThanOrEqual($refund->getStorePurchase()->getRemainingValue());
     }, ':name is more than the remaining value')]);
 }
Example #4
0
 public static function initialize(Config $config)
 {
     TransferTrait::initialize($config);
     ItemGroupTrait::initialize($config);
     TimestampsTrait::initialize($config);
     RandomKeyTrait::initialize($config);
     CurrencyTrait::initialize($config);
     $config->setTable('Purchase')->addRels([new Rel\HasMany('items', $config, PurchaseItem::getRepo(), ['inverseOf' => 'purchase']), new Rel\HasMany('storePurchases', $config, StorePurchase::getRepo(), ['inverseOf' => 'purchase']), new Rel\BelongsTo('billing', $config, Address::getRepo())]);
 }
 /**
  * @covers ::getCurrency
  */
 public function testCurrency()
 {
     $storePurchase = new StorePurchase();
     $currency = new Currency('EUR');
     $order = $this->getMock('CL\\Purchases\\Purchase', ['getCurrency']);
     $order->expects($this->once())->method('getCurrency')->will($this->returnValue($currency));
     $storePurchase->setPurchase($order);
     $this->assertSame($currency, $storePurchase->getCurrency());
 }
Example #6
0
 /**
  * @coversNothing
  */
 public function testIntegration()
 {
     $purchase = Purchase::find(1);
     $item1 = PurchaseItem::find(1);
     $item2 = PurchaseItem::find(2);
     $item3 = PurchaseItem::find(3);
     $item4 = PurchaseItem::find(4);
     $storePurchase1 = StorePurchase::find(1);
     $storePurchase2 = StorePurchase::find(2);
     $billing = Address::find(1);
     $items = $purchase->getItems();
     $this->assertSame([$item1, $item2, $item3, $item4], $purchase->getItems()->toArray());
     $this->assertSame([$storePurchase1, $storePurchase2], $purchase->getStorePurchases()->toArray());
     $this->assertSame($billing, $purchase->getBilling());
 }
Example #7
0
 /**
  * @covers ::getStorePurchases
  */
 public function testStorePurchases()
 {
     $store = new Store();
     $items = $store->getStorePurchases();
     $this->assertEquals(StorePurchase::getRepo(), $items->getRel()->getRepo());
 }
Example #8
0
 public static function initialize(Config $config)
 {
     SoftDeleteTrait::initialize($config);
     $config->addRels([new Rel\HasMany('products', $config, Product::getRepo(), ['inverseOf' => 'store']), new Rel\HasMany('storePurchases', $config, StorePurchase::getRepo(), ['inverseOf' => 'store'])])->addAsserts([new Assert\Present('name'), new Assert\LengthLessThan('name', 150)]);
 }