/** * @depends testResolveWithNonManyManyRelationship */ public function testResolve() { $modelClassName = 'Person'; $relationMetadata = array(RedBeanModel::MANY_MANY, 'User'); RedBeanModelToJoinTableAdapter::resolve($modelClassName, $relationMetadata, static::$messageLogger); $processedTables = RedBeanModelToJoinTableAdapter::resolveProcessedTableNames(); $this->assertNotEmpty($processedTables); $this->assertCount(1, $processedTables); $this->assertEquals('_user_person', $processedTables[0]); }
/** * @depends testResolveWithManyManyAndLinkTypeAssumptive */ public function testResolveWithManyManyAndLinkTypeSpecific() { $modelClassName = 'Conversation'; $relationName = 'conversationItems'; $relationMetadata = array(RedBeanModel::MANY_MANY, 'Item', RedBeanModel::OWNED, RedBeanModel::LINK_TYPE_SPECIFIC, 'cItems'); $column = RedBeanModelRelationToColumnAdapter::resolve($modelClassName, $relationName, $relationMetadata, static::$messageLogger); $this->assertNull($column); $processedTables = RedBeanModelToJoinTableAdapter::resolveProcessedTableNames(); $this->assertNotEmpty($processedTables); $this->assertCount(3, $processedTables); $this->assertEquals('contact_opportunity', $processedTables[0]); $this->assertEquals('conversation_item', $processedTables[1]); $this->assertEquals('citems_conversation_item', $processedTables[2]); }