public function testGetCorrectDefinitionAfterDefinitionDeleted() { $req = new Test_DataModel_Requirement(); $oDef1 = $req->getDefinition(); DataModel_Definitions::destroy(); $req2 = new Test_DataModel_Requirement(); $oDef2 = $req2->getDefinition(); $this->assertNotSame($oDef1, $oDef2); }
function defineDatastoreTestModels() { DataModel_Definitions::destroy(); $oMeta = DataModel_Definitions::get('Test_Customer'); $oMeta->addField('customerId')->asMandatory(); $oMeta->addField('customerFirstName'); $oMeta->addField('customerSurname'); $oMeta->addField('customerAddress1'); $oMeta->addField('customerAddress2'); $oMeta->addField('customerCounty'); $oMeta->addField('customerCity'); $oMeta->addField('customerCountry'); $oMeta->addField('customerPostcode'); $oMeta->addField('customerEmailAddress'); $oMeta->setPrimaryKey('customerId'); $oMeta->addView('name')->withField('customerId')->withField('customerFirstName')->withField('customerSurname'); /* $oMeta = DataModel_Definitions::get('Test_PremiumCustomer'); $oMeta->inheritsFrom('customer'); $oMeta->addField('customerTerms'); */ $oMeta = DataModel_Definitions::get('Test_Order'); $oMeta->addField('masterCustomerId'); $oMeta->addField('giftCustomerId'); $oMeta->addField('orderId'); $oMeta->addField('orderStatus'); $oMeta->addField('orderTotal'); $oMeta->addField('orderPostage'); $oMeta->addField('orderStatusChange'); $oMeta->addField('dateCreated'); $oMeta->setPrimaryKey('orderId'); $oMeta->hasOne('customer')->ourFieldIs('masterCustomerId')->theirModelIs('Test_Customer')->theirFieldIs('customerId'); $oMeta->hasOne('giftRecipient')->ourFieldIs('giftCustomerId')->theirModelIs('Test_Customer')->theirFieldIs('customerId'); $oMeta->hasMany('lineItems')->ourFieldIs('orderId')->theirModelIs('Test_OrderContent')->theirFieldIs('masterOrderId'); $oMeta = DataModel_Definitions::get('Test_OrderContent'); $oMeta->addField('uid'); $oMeta->addField('masterOrderId'); $oMeta->addField('pid'); $oMeta->addField('quantity'); $oMeta->addField('cost'); $oMeta->setPrimaryKey('uid'); $oMeta->hasOne('order')->ourFieldIs('masterOrderId')->theirModelIs('Test_Order')->theirFieldIs('orderId'); $oMeta->hasOne('product')->ourFieldIs('pid')->theirModelIs('Test_Product')->theirFieldIs('pid'); $oMeta = DataModel_Definitions::get('Test_Product'); $oMeta->addField('pid'); $oMeta->addField('productName'); $oMeta->addField('productSummary'); $oMeta->addField('productUrl'); $oMeta->addField('productCode'); $oMeta->addField('productCost'); $oMeta->addField('isActive'); $oMeta->setPrimaryKey('pid'); $oMeta->hasMany('tags')->ourFieldIs('pid')->theirModelIs('Test_Product_Tag')->theirFieldIs('productId'); $oMeta->hasMany('relatedProducts')->foundVia('Test_RelatedProducts', 'relatedProducts')->ourFieldIs('pid')->theirFieldIs('productId1'); $oDef = DataModel_Definitions::get('Test_RelatedProducts'); $oDef->addField('productId1'); $oDef->addField('productId2'); $oDef->addField('uid'); $oDef->setPrimaryKey('uid'); $oDef->hasMany('relatedProducts')->ourFieldIs('productId2')->theirModelIs('Test_Product')->theirFieldIs('pid'); $oDef = DataModel_Definitions::get('Test_Product_Tag'); $oDef->addField('productId'); $oDef->addField('tagName'); $oDef->setPrimaryKey(array('productId', 'tagName')); $oDef = DataModel_Definitions::get('Test_Product_Annotated_Tag'); $oDef->inherits('Test_Product_Tag'); $oDef->addField('tagAnnotation'); }