function ViewsHandlerManyToOneTest::setUp
Overrides ViewsSqlTest::setUp
File
-
tests/
handlers/ views_handler_manytoone.test, line 86
Class
- ViewsHandlerManyToOneTest
- Tests the many to one helper handler class.
Code
public function setUp(array $modules = array()) {
parent::setUp($modules);
// Create boolean field.
$this->fields[0] = array(
'field_name' => 'field_bool',
'type' => 'list_boolean',
'cardinality' => 1,
'settings' => array(
'allowed_values' => array(
0 => '',
1 => '',
),
),
);
$this->fields[0] = field_create_field($this->fields[0]);
// Create text list field.
$this->fields[1] = array(
'field_name' => 'field_list',
'type' => 'list_text',
'cardinality' => FIELD_CARDINALITY_UNLIMITED,
'settings' => array(
'allowed_values' => array(
1 => '1',
2 => '2',
3 => '3',
),
),
);
$this->fields[1] = field_create_field($this->fields[1]);
// Create boolean field instance for article nodes.
$instance = array(
'field_name' => $this->fields[0]['field_name'],
'entity_type' => 'node',
'bundle' => 'article',
'widget' => array(
'type' => 'options_onoff',
),
);
$this->instances[0][] = field_create_instance($instance);
// Create text list field instance for article nodes.
$instance = array(
'field_name' => $this->fields[1]['field_name'],
'entity_type' => 'node',
'bundle' => 'article',
'widget' => array(
'type' => 'options_buttons',
),
);
$this->instances[1][] = field_create_instance($instance);
// Create boolean field instance for users.
$instance = array(
'field_name' => $this->fields[0]['field_name'],
'entity_type' => 'user',
'bundle' => 'user',
'widget' => array(
'type' => 'options_onoff',
),
);
$this->instances[0][] = field_create_instance($instance);
// Create text list field instance for users.
$instance = array(
'field_name' => $this->fields[1]['field_name'],
'entity_type' => 'user',
'bundle' => 'user',
'widget' => array(
'type' => 'options_buttons',
),
);
$this->instances[1][] = field_create_instance($instance);
// Create tags field instance for users.
$instance = array(
'field_name' => 'field_tags',
'entity_type' => 'user',
'bundle' => 'user',
);
$this->instances[2][] = field_create_instance($instance);
// Clear views data cache.
$this->clearViewsDataCache();
// Create 62 tags.
$vocabulary = taxonomy_vocabulary_machine_name_load('tags');
for ($i = 0; $i < 62; $i++) {
$this->terms[] = $this->createTerm($vocabulary);
}
// Create a node where the field_bool is checked, field_list is '1' and
// tag is term 2.
$node = array();
$node['type'] = 'article';
$node[$this->fields[0]['field_name']][LANGUAGE_NONE][]['value'] = '1';
$node[$this->fields[1]['field_name']][LANGUAGE_NONE][]['value'] = '1';
$node['field_tags'][LANGUAGE_NONE][]['tid'] = $this->terms[1]->tid;
$this->nodes[0] = $this->drupalCreateNode($node);
// Create a node where the field_bool is not checked, field_list is empty
// and tag is term 1.
$node = array();
$node['type'] = 'article';
$node[$this->fields[0]['field_name']] = array();
$node[$this->fields[1]['field_name']] = array();
$node['field_tags'][LANGUAGE_NONE][]['tid'] = $this->terms[0]->tid;
$this->nodes[1] = $this->drupalCreateNode($node);
// Create a node where the field_bool is not checked, field_list is empty
// and tag is term 1 and 2.
$node = array();
$node['type'] = 'article';
$node[$this->fields[0]['field_name']] = array();
$node[$this->fields[1]['field_name']] = array();
$node['field_tags'][LANGUAGE_NONE][]['tid'] = $this->terms[0]->tid;
$node['field_tags'][LANGUAGE_NONE][]['tid'] = $this->terms[1]->tid;
$this->nodes[2] = $this->drupalCreateNode($node);
// Create a user where field_bool is checked, field_list is '1' and tag is
// term 1.
$permissions = array(
'access content',
);
$account = $this->drupalCreateUser($permissions);
$account->{$this->fields[0]['field_name']}[LANGUAGE_NONE][]['value'] = '1';
$account->{$this->fields[1]['field_name']}[LANGUAGE_NONE][]['value'] = '1';
$account->field_tags[LANGUAGE_NONE][]['tid'] = $this->terms[0]->tid;
$this->accounts[0] = user_save($account);
}