1 entity_query.test | EntityFieldQueryTestCase::testEntityFieldQueryTableSort() |
Tests the TableSort integration of EntityFieldQuery.
File
- core/
modules/ entity/ tests/ entity_query.test, line 1349 - Unit test file for the entity API.
Class
- EntityFieldQueryTestCase
- Tests EntityFieldQuery.
Code
function testEntityFieldQueryTableSort() {
// Test TableSort in propertyQuery
$_GET['sort'] = 'asc';
$_GET['order'] = 'Id';
$header = array(
'id' => array('data' => 'Id', 'type' => 'property', 'specifier' => 'ftid'),
'type' => array('data' => 'Type', 'type' => 'entity', 'specifier' => 'bundle'),
);
$query = new EntityFieldQuery();
$query
->entityCondition('entity_type', 'test_entity_bundle_key')
->tableSort($header);
$this->assertEntityFieldQuery($query, array(
array('test_entity_bundle_key', 1),
array('test_entity_bundle_key', 2),
array('test_entity_bundle_key', 3),
array('test_entity_bundle_key', 4),
array('test_entity_bundle_key', 5),
array('test_entity_bundle_key', 6),
), 'Test TableSort by property: ftid ASC in propertyQuery.', TRUE);
$_GET['sort'] = 'desc';
$_GET['order'] = 'Id';
$query = new EntityFieldQuery();
$query
->entityCondition('entity_type', 'test_entity_bundle_key')
->tableSort($header);
$this->assertEntityFieldQuery($query, array(
array('test_entity_bundle_key', 6),
array('test_entity_bundle_key', 5),
array('test_entity_bundle_key', 4),
array('test_entity_bundle_key', 3),
array('test_entity_bundle_key', 2),
array('test_entity_bundle_key', 1),
), 'Test TableSort by property: ftid DESC in propertyQuery.', TRUE);
$_GET['sort'] = 'asc';
$_GET['order'] = 'Type';
$query = new EntityFieldQuery();
$query
->entityCondition('entity_type', 'test_entity_bundle_key')
->tableSort($header);
$this->assertEntityFieldQuery($query, array(
array('test_entity_bundle_key', 1),
array('test_entity_bundle_key', 2),
array('test_entity_bundle_key', 3),
array('test_entity_bundle_key', 4),
array('test_entity_bundle_key', 5),
array('test_entity_bundle_key', 6),
), 'Test TableSort by entity: bundle ASC in propertyQuery.', TRUE);
$_GET['sort'] = 'desc';
$_GET['order'] = 'Type';
$query = new EntityFieldQuery();
$query
->entityCondition('entity_type', 'test_entity_bundle_key')
->tableSort($header);
$this->assertEntityFieldQuery($query, array(
array('test_entity_bundle_key', 5),
array('test_entity_bundle_key', 6),
array('test_entity_bundle_key', 1),
array('test_entity_bundle_key', 2),
array('test_entity_bundle_key', 3),
array('test_entity_bundle_key', 4),
), 'Test TableSort by entity: bundle DESC in propertyQuery.', TRUE);
// Test TableSort in field storage
$_GET['sort'] = 'asc';
$_GET['order'] = 'Id';
$header = array(
'id' => array('data' => 'Id', 'type' => 'property', 'specifier' => 'ftid'),
'type' => array('data' => 'Type', 'type' => 'entity', 'specifier' => 'bundle'),
'field' => array('data' => 'Field', 'type' => 'field', 'specifier' => array('field' => $this->field_names[0], 'column' => 'value')),
);
$query = new EntityFieldQuery();
$query
->entityCondition('entity_type', 'test_entity_bundle_key')
->fieldCondition($this->fields[0], 'value', 0, '>')
->tableSort($header);
$this->assertEntityFieldQuery($query, array(
array('test_entity_bundle_key', 1),
array('test_entity_bundle_key', 2),
array('test_entity_bundle_key', 3),
array('test_entity_bundle_key', 4),
array('test_entity_bundle_key', 5),
array('test_entity_bundle_key', 6),
), 'Test TableSort by property: ftid ASC in field storage.', TRUE);
$_GET['sort'] = 'desc';
$_GET['order'] = 'Id';
$query = new EntityFieldQuery();
$query
->entityCondition('entity_type', 'test_entity_bundle_key')
->fieldCondition($this->fields[0], 'value', 0, '>')
->tableSort($header);
$this->assertEntityFieldQuery($query, array(
array('test_entity_bundle_key', 6),
array('test_entity_bundle_key', 5),
array('test_entity_bundle_key', 4),
array('test_entity_bundle_key', 3),
array('test_entity_bundle_key', 2),
array('test_entity_bundle_key', 1),
), 'Test TableSort by property: ftid DESC in field storage.', TRUE);
$_GET['sort'] = 'asc';
$_GET['order'] = 'Type';
$query = new EntityFieldQuery();
$query
->entityCondition('entity_type', 'test_entity_bundle_key')
->fieldCondition($this->fields[0], 'value', 0, '>')
->tableSort($header)
->entityOrderBy('entity_id', 'DESC');
$this->assertEntityFieldQuery($query, array(
array('test_entity_bundle_key', 4),
array('test_entity_bundle_key', 3),
array('test_entity_bundle_key', 2),
array('test_entity_bundle_key', 1),
array('test_entity_bundle_key', 6),
array('test_entity_bundle_key', 5),
), 'Test TableSort by entity: bundle ASC in field storage.', TRUE);
$_GET['sort'] = 'desc';
$_GET['order'] = 'Type';
$query = new EntityFieldQuery();
$query
->entityCondition('entity_type', 'test_entity_bundle_key')
->fieldCondition($this->fields[0], 'value', 0, '>')
->tableSort($header)
->entityOrderBy('entity_id', 'ASC');
$this->assertEntityFieldQuery($query, array(
array('test_entity_bundle_key', 5),
array('test_entity_bundle_key', 6),
array('test_entity_bundle_key', 1),
array('test_entity_bundle_key', 2),
array('test_entity_bundle_key', 3),
array('test_entity_bundle_key', 4),
), 'Test TableSort by entity: bundle DESC in field storage.', TRUE);
$_GET['sort'] = 'asc';
$_GET['order'] = 'Field';
$query = new EntityFieldQuery();
$query
->entityCondition('entity_type', 'test_entity_bundle_key')
->fieldCondition($this->fields[0], 'value', 0, '>')
->tableSort($header);
$this->assertEntityFieldQuery($query, array(
array('test_entity_bundle_key', 1),
array('test_entity_bundle_key', 2),
array('test_entity_bundle_key', 3),
array('test_entity_bundle_key', 4),
array('test_entity_bundle_key', 5),
array('test_entity_bundle_key', 6),
), 'Test TableSort by field ASC.', TRUE);
$_GET['sort'] = 'desc';
$_GET['order'] = 'Field';
$query = new EntityFieldQuery();
$query
->entityCondition('entity_type', 'test_entity_bundle_key')
->fieldCondition($this->fields[0], 'value', 0, '>')
->tableSort($header);
$this->assertEntityFieldQuery($query, array(
array('test_entity_bundle_key', 6),
array('test_entity_bundle_key', 5),
array('test_entity_bundle_key', 4),
array('test_entity_bundle_key', 3),
array('test_entity_bundle_key', 2),
array('test_entity_bundle_key', 1),
), 'Test TableSort by field DESC.', TRUE);
unset($_GET['sort']);
unset($_GET['order']);
}