/** * @group test */ public function testRelations() { $xml = <<<EOF <bundle> <objects> <object id="User"> <label>Test</label> <class>tests.store.core.user</class> <fields> <field id="id" type="number" primaryKey="true"> <label>ID</label> </field> <field id="name" type="text"> <label>Name</label> </field> <field id="groupMembership" type="object"> <label>Group membership</label> <object>test/group</object> <objectRelation>nToM</objectRelation> <objectLabel>name</objectLabel> </field> </fields> </object> <object id="Group"> <label>Test Group</label> <class>tests.store.core.group</class> <fields> <field id="id" type="number" primaryKey="true"> <label>ID</label> </field> <field id="name" type="text"> <label>Name</label> </field> </fields> </object> </objects> </bundle> EOF; $configs = new Configs($this->getJarves()); $this->getJarves()->setConfigs($configs); $bundle = new Bundle('TestBundle'); $bundle->initialize($xml); $configs->addConfig($bundle); $configs->boot(); $testObject = $bundle->getObject('User'); $this->assertCount(1, $testObject->getRelations()); $this->assertTrue($testObject->hasRelation('groupMembership')); $testBundle = $configs->getConfig('TestBundle'); $this->assertCount(3, $testBundle->getObjects()); $userGroup = $testBundle->getObject('userGroup'); $this->assertTrue($userGroup->hasRelation('user')); $this->assertTrue($userGroup->hasRelation('groupMembership')); }
/** * @group test */ public function testFieldTypes() { $xml = <<<EOF <bundle> <fieldTypes> <field-type id="text" service="jarves.field.types.text"> <label>Text</label> </field-type> <field-type id="tab" service="jarves.field.types.tab" userInterfaceOnly="true"> <label>Tab</label> </field-type> </fieldTypes> </bundle> EOF; $bundleConfig = new Bundle('MyBundle'); $bundleConfig->initialize($xml); $this->assertEquals(2, count($bundleConfig->getFieldTypesArray())); $this->assertEquals('jarves.field.types.text', $bundleConfig->getFieldTypes()[0]->getService()); $this->assertEquals('text', $bundleConfig->getFieldTypes()[0]->getId()); $this->assertEquals(false, $bundleConfig->getFieldTypes()[0]->isUserInterfaceOnly()); $this->assertEquals(true, $bundleConfig->getFieldTypes()[1]->isUserInterfaceOnly()); $exportedXml = $bundleConfig->toXml(); $this->assertEquals($xml, $exportedXml); }