/**
  * @covers ::create()
  * @covers ::doCreate()
  *
  * @return \Drupal\Core\Entity\EntityInterface
  */
 public function testCreate()
 {
     $this->cacheBackend->expects($this->never())->method('invalidateTags');
     $this->moduleHandler->expects($this->at(0))->method('invokeAll')->with('test_entity_type_create');
     $this->moduleHandler->expects($this->at(1))->method('invokeAll')->with('entity_create');
     $this->uuidService->expects($this->once())->method('generate')->will($this->returnValue('bar'));
     $entity = $this->entityStorage->create(array('id' => 'foo'));
     $this->assertInstanceOf('Drupal\\Core\\Entity\\EntityInterface', $entity);
     $this->assertSame('foo', $entity->id());
     $this->assertSame('bar', $entity->uuid());
     return $entity;
 }
Example #2
0
 /**
  * Tests the display related functions like getDisplaysList().
  */
 protected function displayMethodTests()
 {
     // Enable the system module so _l() can work using url_alias table.
     $this->installSchema('system', 'url_alias');
     $config['display'] = array('page_1' => array('display_options' => array('path' => 'test'), 'display_plugin' => 'page', 'id' => 'page_2', 'display_title' => 'Page 1', 'position' => 1), 'feed_1' => array('display_options' => array('path' => 'test.xml'), 'display_plugin' => 'feed', 'id' => 'feed', 'display_title' => 'Feed', 'position' => 2), 'page_2' => array('display_options' => array('path' => 'test/%/extra'), 'display_plugin' => 'page', 'id' => 'page_2', 'display_title' => 'Page 2', 'position' => 3));
     $view = $this->controller->create($config);
     // Tests Drupal\views\Entity\View::addDisplay()
     $view = $this->controller->create(array());
     $random_title = $this->randomMachineName();
     $id = $view->addDisplay('page', $random_title);
     $this->assertEqual($id, 'page_1', format_string('Make sure the first display (%id_new) has the expected ID (%id)', array('%id_new' => $id, '%id' => 'page_1')));
     $display = $view->get('display');
     $this->assertEqual($display[$id]['display_title'], $random_title);
     $random_title = $this->randomMachineName();
     $id = $view->addDisplay('page', $random_title);
     $display = $view->get('display');
     $this->assertEqual($id, 'page_2', format_string('Make sure the second display (%id_new) has the expected ID (%id)', array('%id_new' => $id, '%id' => 'page_2')));
     $this->assertEqual($display[$id]['display_title'], $random_title);
     $id = $view->addDisplay('page');
     $display = $view->get('display');
     $this->assertEqual($display[$id]['display_title'], 'Page 3');
     // Ensure the 'default' display always has position zero, regardless of when
     // it was set relative to other displays. Even if the 'default' display
     // exists, adding it again will overwrite it, which is asserted with the new
     // title.
     $view->addDisplay('default', $random_title);
     $displays = $view->get('display');
     $this->assertEqual($displays['default']['display_title'], $random_title, 'Default display is defined with the new title');
     $this->assertEqual($displays['default']['position'], 0, 'Default displays are always in position zero');
     // Tests Drupal\views\Entity\View::generateDisplayId(). Since
     // generateDisplayId() is protected, we have to use reflection to unit-test
     // it.
     $view = $this->controller->create(array());
     $ref_generate_display_id = new \ReflectionMethod($view, 'generateDisplayId');
     $ref_generate_display_id->setAccessible(TRUE);
     $this->assertEqual($ref_generate_display_id->invoke($view, 'default'), 'default', 'The plugin ID for default is always default.');
     $this->assertEqual($ref_generate_display_id->invoke($view, 'feed'), 'feed_1', 'The generated ID for the first instance of a plugin type should have an suffix of _1.');
     $view->addDisplay('feed', 'feed title');
     $this->assertEqual($ref_generate_display_id->invoke($view, 'feed'), 'feed_2', 'The generated ID for the first instance of a plugin type should have an suffix of _2.');
     // Tests item related methods().
     $view = $this->controller->create(array('base_table' => 'views_test_data'));
     $view->addDisplay('default');
     $view = $view->getExecutable();
     $display_id = 'default';
     $expected_items = array();
     // Tests addHandler with getItem.
     // Therefore add one item without any options and one item with some
     // options.
     $id1 = $view->addHandler($display_id, 'field', 'views_test_data', 'id');
     $item1 = $view->getHandler($display_id, 'field', 'id');
     $expected_items[$id1] = $expected_item = array('id' => 'id', 'table' => 'views_test_data', 'field' => 'id', 'plugin_id' => 'numeric');
     $this->assertEqual($item1, $expected_item);
     $options = array('alter' => array('text' => $this->randomMachineName()));
     $id2 = $view->addHandler($display_id, 'field', 'views_test_data', 'name', $options);
     $item2 = $view->getHandler($display_id, 'field', 'name');
     $expected_items[$id2] = $expected_item = array('id' => 'name', 'table' => 'views_test_data', 'field' => 'name', 'plugin_id' => 'standard') + $options;
     $this->assertEqual($item2, $expected_item);
     // Tests the expected fields from the previous additions.
     $this->assertEqual($view->getHandlers('field', $display_id), $expected_items);
     // Alter an existing item via setItem and check the result via getItem
     // and getItems.
     $item = array('alter' => array('text' => $this->randomMachineName())) + $item1;
     $expected_items[$id1] = $item;
     $view->setHandler($display_id, 'field', $id1, $item);
     $this->assertEqual($view->getHandler($display_id, 'field', 'id'), $item);
     $this->assertEqual($view->getHandlers('field', $display_id), $expected_items);
     // Test removeItem method.
     unset($expected_items[$id2]);
     $view->removeHandler($display_id, 'field', $id2);
     $this->assertEqual($view->getHandlers('field', $display_id), $expected_items);
 }
Example #3
0
 /**
  * @covers ::create
  * @covers ::doCreate
  */
 public function testCreateWithExplicitLanguage()
 {
     $this->languageManager->expects($this->any())->method('getLanguage')->with('en')->willReturn(new Language(array('id' => 'en')));
     $entity = $this->entityStorage->create(array('id' => 'foo', 'langcode' => 'en'));
     $this->assertSame('en', $entity->language()->getId());
 }