Example #1
0
 public static function initialize(Config $config)
 {
     ItemGroupTrait::initialize($config);
     TimestampsTrait::initialize($config);
     RandomKeyTrait::initialize($config);
     $config->setTable('StorePurchase')->addRels([new Rel\BelongsTo('purchase', $config, Purchase::getRepo()), new Rel\BelongsTo('store', $config, Store::getRepo()), new Rel\HasMany('items', $config, PurchaseItem::getRepo(), ['inverseOf' => 'storePurchase']), new Rel\HasMany('refunds', $config, Refund::getRepo(), ['inverseOf' => 'storePurchase'])]);
 }
Example #2
0
 public static function initialize(Config $config)
 {
     CurrencyTrait::initialize($config);
     ValueTrait::initialize($config);
     SoftDeleteTrait::initialize($config);
     $config->addRels([new Rel\BelongsTo('store', $config, Store::getRepo()), new Rel\HasMany('productItems', $config, ProductItem::getRepo(), ['foreignKey' => 'refId'])])->addAsserts([new Assert\Present('name'), new Assert\LengthLessThan('name', 150)]);
 }
Example #3
0
 /**
  * @covers ::initialize
  */
 public function testInitialize()
 {
     $store = Store::getRepo();
     $products = $store->getRelOrError('products');
     $this->assertEquals('CL\\Purchases\\Product', $products->getRepo()->getModelClass());
     $storePurchases = $store->getRelOrError('storePurchases');
     $this->assertEquals('CL\\Purchases\\StorePurchase', $storePurchases->getRepo()->getModelClass());
     $model = new Store();
     $this->assertFalse($model->validate());
     $errors = $model->getErrors()->humanize();
     $expected = 'name must be present';
     $this->assertEquals($expected, $errors);
 }