1 entity.test EntityAPITestCase::testCRUD()

Tests basic CRUD functionality of the Entity API.

File

core/modules/entity/tests/entity.test, line 18
Entity CRUD API tests.

Class

EntityAPITestCase
Tests the basic Entity API.

Code

function testCRUD() {
  $user1 = $this->backdropCreateUser();

  // Create some test entities.
  $entity = entity_create('entity_test', array('name' => 'test', 'uid' => $user1->uid));
  $entity->save();
  $entity = entity_create('entity_test', array('name' => 'test2', 'uid' => $user1->uid));
  $entity->save();
  $entity = entity_create('entity_test', array('name' => 'test', 'uid' => NULL));
  $entity->save();

  $entities = array_values(entity_test_load_multiple(FALSE, array('name' => 'test')));

  $this->assertEqual($entities[0]->name, 'test', 'Created and loaded entity.');
  $this->assertEqual($entities[1]->name, 'test', 'Created and loaded entity.');

  // Test loading a single entity.
  $loaded_entity = entity_test_load($entity->id);
  $this->assertEqual($loaded_entity->id, $entity->id, 'Loaded a single entity by id.');

  // Test deleting an entity.
  $entities = array_values(entity_test_load_multiple(FALSE, array('name' => 'test2')));
  $entities[0]->delete();
  $entities = array_values(entity_test_load_multiple(FALSE, array('name' => 'test2')));
  $this->assertEqual($entities, array(), 'Entity deleted.');

  // Test updating an entity.
  $entities = array_values(entity_test_load_multiple(FALSE, array('name' => 'test')));
  $entities[0]->name = 'test3';
  $entities[0]->save();
  $entity = entity_test_load($entities[0]->id);
  $this->assertEqual($entity->name, 'test3', 'Entity updated.');

  // Try deleting multiple test entities by deleting all.
  $ids = array_keys(entity_test_load_multiple(FALSE));
  entity_test_delete_multiple($ids);

  $all = entity_test_load_multiple(FALSE);
  $this->assertTrue(empty($all), 'Deleted all entities.');
}