/** * Test that DataList::relation works with PolymorphicHasManyList */ public function testFilterRelation() { // Check that expected teams exist $list = DataObjectTest_Team::get(); $this->assertEquals(array('Subteam 1', 'Subteam 2', 'Subteam 3', 'Team 1', 'Team 2', 'Team 3'), $list->sort('Title')->column('Title')); // Check that fan list exists $fans = $list->relation('Fans'); $this->assertEquals(array('Damian', 'Mitch', 'Richard'), $fans->sort('Name')->column('Name')); // Modify list of fans and retest $team1 = $this->objFromFixture('DataObjectTest_Team', 'team1'); $subteam1 = $this->objFromFixture('DataObjectTest_SubTeam', 'subteam1'); $newFan1 = DataObjectTest_Fan::create(); $newFan1->Name = 'Bobby'; $newFan1->write(); $newFan2 = DataObjectTest_Fan::create(); $newFan2->Name = 'Mindy'; $newFan2->write(); $team1->Fans()->add($newFan1); $subteam1->Fans()->add($newFan2); $fans = DataObjectTest_Team::get()->relation('Fans'); $this->assertEquals(array('Bobby', 'Damian', 'Richard'), $team1->Fans()->sort('Name')->column('Name')); $this->assertEquals(array('Mindy', 'Mitch'), $subteam1->Fans()->sort('Name')->column('Name')); $this->assertEquals(array('Bobby', 'Damian', 'Mindy', 'Mitch', 'Richard'), $fans->sort('Name')->column('Name')); }