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'])]); }
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)]); }
/** * @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); }