From 5686392a6707b1a3d54094da44e998465f79a186 Mon Sep 17 00:00:00 2001 From: Robert Curry Date: Mon, 16 Apr 2012 14:30:13 +1200 Subject: [PATCH] BUGFIX: Fixes #7071. Change gridfield tests to not assume ids are always in order of addition. --- .../gridfield/GridFieldAddExistingAutocompleterTest.php | 6 ++++-- tests/forms/gridfield/GridFieldDeleteActionTest.php | 6 +++--- tests/forms/gridfield/GridFieldDetailFormTest.php | 3 +-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/tests/forms/gridfield/GridFieldAddExistingAutocompleterTest.php b/tests/forms/gridfield/GridFieldAddExistingAutocompleterTest.php index 567150190..caec12193 100644 --- a/tests/forms/gridfield/GridFieldAddExistingAutocompleterTest.php +++ b/tests/forms/gridfield/GridFieldAddExistingAutocompleterTest.php @@ -60,8 +60,10 @@ class GridFieldAddExistingAutocompleterTest extends FunctionalTest { $parser = new CSSContentParser($response->getBody()); $items = $parser->getBySelector('.ss-gridfield .ss-gridfield-items .ss-gridfield-item'); $this->assertEquals(2, count($items)); - $this->assertEquals($team1->ID, (int)$items[0]['data-id']); - $this->assertEquals($team2->ID, (int)$items[1]['data-id']); + $this->assertDOSEquals(array( + array('ID' => (int)$items[0]['data-id']), + array('ID' => (int)$items[1]['data-id']), + ), new ArrayList(array($team1, $team2))); } diff --git a/tests/forms/gridfield/GridFieldDeleteActionTest.php b/tests/forms/gridfield/GridFieldDeleteActionTest.php index ef4e580bf..d5d7aea70 100644 --- a/tests/forms/gridfield/GridFieldDeleteActionTest.php +++ b/tests/forms/gridfield/GridFieldDeleteActionTest.php @@ -46,7 +46,7 @@ class GridFieldDeleteActionTest extends SapphireTest { $this->setExpectedException('ValidationException'); $stateID = 'testGridStateActionField'; - Session::set($stateID, array('grid'=>'', 'actionName'=>'deleterecord','args'=>array('RecordID'=>1))); + Session::set($stateID, array('grid'=>'', 'actionName'=>'deleterecord','args'=>array('RecordID'=>$this->idFromFixture('GridFieldAction_Delete_Team', 'team1')))); $request = new SS_HTTPRequest('POST', 'url', array(), array('action_gridFieldAlterAction?StateID='.$stateID=>true)); $this->gridField->gridFieldAlterAction(array('StateID'=>$stateID), $this->form, $request); $this->assertEquals(3, $this->list->count(), 'User should\'t be able to delete records without correct permissions.'); @@ -55,7 +55,7 @@ class GridFieldDeleteActionTest extends SapphireTest { public function testDeleteActionWithAdminPermission() { $this->logInWithPermission('ADMIN'); $stateID = 'testGridStateActionField'; - Session::set($stateID, array('grid'=>'', 'actionName'=>'deleterecord','args'=>array('RecordID'=>1))); + Session::set($stateID, array('grid'=>'', 'actionName'=>'deleterecord','args'=>array('RecordID'=>$this->idFromFixture('GridFieldAction_Delete_Team', 'team1')))); $request = new SS_HTTPRequest('POST', 'url', array(), array('action_gridFieldAlterAction?StateID='.$stateID=>true)); $this->gridField->gridFieldAlterAction(array('StateID'=>$stateID), $this->form, $request); $this->assertEquals(2, $this->list->count(), 'User should be able to delete records with ADMIN permission.'); @@ -70,7 +70,7 @@ class GridFieldDeleteActionTest extends SapphireTest { $form = new Form(new Controller(), 'mockform', new FieldList(array($this->gridField)), new FieldList()); $stateID = 'testGridStateActionField'; - Session::set($stateID, array('grid'=>'', 'actionName'=>'deleterecord','args'=>array('RecordID'=>1))); + Session::set($stateID, array('grid'=>'', 'actionName'=>'deleterecord','args'=>array('RecordID'=>$this->idFromFixture('GridFieldAction_Delete_Team', 'team1')))); $request = new SS_HTTPRequest('POST', 'url', array(), array('action_gridFieldAlterAction?StateID='.$stateID=>true)); $this->gridField->gridFieldAlterAction(array('StateID'=>$stateID), $this->form, $request); diff --git a/tests/forms/gridfield/GridFieldDetailFormTest.php b/tests/forms/gridfield/GridFieldDetailFormTest.php index fa6c46f1b..e38f22836 100644 --- a/tests/forms/gridfield/GridFieldDetailFormTest.php +++ b/tests/forms/gridfield/GridFieldDetailFormTest.php @@ -83,8 +83,7 @@ class GridFieldDetailFormTest extends FunctionalTest { ->filter('Name', 'My Group') ->sort('Name') ->First(); - $firstperson = $group->People()->First(); - $this->assertEquals($firstperson->Surname, 'Baggins'); + $this->assertDOSContains(array(array('Surname' => 'Baggins')), $group->People()); } function testNestedEditForm() {