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())]); }
/** * @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()); }
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')]); }
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()); }
/** * @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()); }
/** * @covers ::getStorePurchases */ public function testStorePurchases() { $store = new Store(); $items = $store->getStorePurchases(); $this->assertEquals(StorePurchase::getRepo(), $items->getRel()->getRepo()); }
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)]); }