diff --git a/tests/entityreference.admin.test b/tests/entityreference.admin.test index 6c88697..be5369c 100644 --- a/tests/entityreference.admin.test +++ b/tests/entityreference.admin.test @@ -68,42 +68,42 @@ class EntityReferenceAdminTestCase extends DrupalWebTestCase { 'fields[_add_new_field][type]' => 'entityreference', 'fields[_add_new_field][widget_type]' => 'entityreference_autocomplete', ), t('Save')); - return; + // Node should be selected by default. $this->assertFieldByName('field[settings][target_type]', 'node'); // The base handler should be selected by default. $this->assertFieldByName('field[settings][handler]', 'base'); - // The base handler settings should be diplayed. + // Second step: 'Instance settings' form. + $this->drupalPost(NULL, array(), t('Save field settings')); + + // The base handler settings should be displayed. $entity_type = 'node'; $entity_info = entity_get_info($entity_type); foreach ($entity_info['bundles'] as $bundle_name => $bundle_info) { - $this->assertFieldByName('field[settings][handler_settings][target_bundles][' . $bundle_name . ']'); + $this->assertFieldByName('instance[settings][handler_settings][target_bundles][' . $bundle_name . ']'); } // Test the sort settings. $options = array('none', 'property', 'field'); - $this->assertFieldSelectOptions('field[settings][handler_settings][sort][type]', $options); + $this->assertFieldSelectOptions('instance[settings][handler_settings][sort][type]', $options); // Option 0: no sort. - $this->assertFieldByName('field[settings][handler_settings][sort][type]', 'none'); - $this->assertNoFieldByName('field[settings][handler_settings][sort][property]'); - $this->assertNoFieldByName('field[settings][handler_settings][sort][field]'); - $this->assertNoFieldByName('field[settings][handler_settings][sort][direction]'); + $this->assertFieldByName('instance[settings][handler_settings][sort][type]', 'none'); + $this->assertNoFieldByName('instance[settings][handler_settings][sort][property]'); + $this->assertNoFieldByName('instance[settings][handler_settings][sort][field]'); + $this->assertNoFieldByName('instance[settings][handler_settings][sort][direction]'); // Option 1: sort by property. - $this->drupalPostAJAX(NULL, array('field[settings][handler_settings][sort][type]' => 'property'), 'field[settings][handler_settings][sort][type]'); - $this->assertFieldByName('field[settings][handler_settings][sort][property]', ''); - $this->assertNoFieldByName('field[settings][handler_settings][sort][field]'); - $this->assertFieldByName('field[settings][handler_settings][sort][direction]', 'ASC'); + $this->drupalPostAJAX(NULL, array('instance[settings][handler_settings][sort][type]' => 'property'), 'instance[settings][handler_settings][sort][type]'); + $this->assertFieldByName('instance[settings][handler_settings][sort][property]', ''); + $this->assertNoFieldByName('instance[settings][handler_settings][sort][field]'); + $this->assertFieldByName('instance[settings][handler_settings][sort][direction]', 'ASC'); // Option 2: sort by field. - $this->drupalPostAJAX(NULL, array('field[settings][handler_settings][sort][type]' => 'field'), 'field[settings][handler_settings][sort][type]'); - $this->assertNoFieldByName('field[settings][handler_settings][sort][property]'); - $this->assertFieldByName('field[settings][handler_settings][sort][field]', ''); - $this->assertFieldByName('field[settings][handler_settings][sort][direction]', 'ASC'); + $this->drupalPostAJAX(NULL, array('instance[settings][handler_settings][sort][type]' => 'field'), 'instance[settings][handler_settings][sort][type]'); + $this->assertNoFieldByName('instance[settings][handler_settings][sort][property]'); + $this->assertFieldByName('instance[settings][handler_settings][sort][field]', ''); + $this->assertFieldByName('instance[settings][handler_settings][sort][direction]', 'ASC'); // Set back to no sort. - $this->drupalPostAJAX(NULL, array('field[settings][handler_settings][sort][type]' => 'none'), 'field[settings][handler_settings][sort][type]'); - - // Second step: 'Instance settings' form. - $this->drupalPost(NULL, array(), t('Save field settings')); + $this->drupalPostAJAX(NULL, array('instance[settings][handler_settings][sort][type]' => 'none'), 'instance[settings][handler_settings][sort][type]'); // Third step: confirm. $this->drupalPost(NULL, array(), t('Save settings')); diff --git a/tests/entityreference.handlers.test b/tests/entityreference.handlers.test index 2256932..905b17e 100644 --- a/tests/entityreference.handlers.test +++ b/tests/entityreference.handlers.test @@ -544,6 +544,22 @@ class EntityReferenceHandlersTestCase extends DrupalWebTestCase { 'type' => 'entityreference', 'cardinality' => '1', ); + $instance = array( + 'entity_type' => 'node', + 'field_name' => 'test_field', + 'settings' => array( + 'handler_settings' => array( + 'sort' => array( + 'direction' => 'DESC', + 'field' => 'field_text:value', + 'type' => 'field', + ), + 'target_bundles' => array( + 'article' => 'article', + ), + ), + ), + ); // Build a set of test data. $nodes = array( @@ -598,7 +614,7 @@ class EntityReferenceHandlersTestCase extends DrupalWebTestCase { $normal_user = $this->drupalCreateUser(array('access content')); $GLOBALS['user'] = $normal_user; - $handler = entityreference_get_selection_handler($field); + $handler = entityreference_get_selection_handler($field, $instance); // Not only assert the result, but make sure the keys are sorted as // expected.