/** * Performs setup tasks before each individual test method is run. */ public function setUp() { parent::setUp('content_access'); // The parent method already installs most needed node and comment schemas, // but here we also need the comment statistics. $this->installSchema('comment', array('comment_entity_statistics')); // Create a node type for testing. $type = NodeType::create(array('type' => 'page', 'name' => 'page')); $type->save(); // Create anonymous user role. $role = Role::create(array('id' => 'anonymous', 'label' => 'anonymous')); $role->save(); // Insert the anonymous user into the database, as the user table is inner // joined by \Drupal\comment\CommentStorage. User::create(array('uid' => 0, 'name' => ''))->save(); // Create a node with attached comment. $this->nodes[0] = Node::create(array('status' => NODE_PUBLISHED, 'type' => 'page', 'title' => 'test title')); $this->nodes[0]->save(); $comment_type = CommentType::create(array('id' => 'comment', 'target_entity_type_id' => 'node')); $comment_type->save(); $this->installConfig(array('comment')); $this->addDefaultCommentField('node', 'page'); $comment = Comment::create(array('entity_type' => 'node', 'entity_id' => $this->nodes[0]->id(), 'field_name' => 'comment', 'body' => 'test body', 'comment_type' => $comment_type->id())); $comment->save(); $this->comments[] = $comment; $this->nodes[1] = Node::create(array('status' => NODE_PUBLISHED, 'type' => 'page', 'title' => 'some title')); $this->nodes[1]->save(); $this->nodes[2] = Node::create(array('status' => NODE_NOT_PUBLISHED, 'type' => 'page', 'title' => 'other title')); $this->nodes[2]->save(); // Also index users, to verify that they are unaffected by the processor. $this->index->set('datasources', array('entity:comment', 'entity:node', 'entity:user')); $this->index->save(); $this->index = entity_load('search_api_index', $this->index->id(), TRUE); }
/** * Performs setup tasks before each individual test method is run. */ public function setUp() { parent::setUp('rendered_item'); // Load configuration and needed schemas. (The necessary schemas for using // nodes are already installed by the parent method.) $this->installConfig(array('system', 'filter', 'node', 'comment')); $this->installSchema('system', array('router')); \Drupal::service('router.builder')->rebuild(); // Create a node type for testing. $type = NodeType::create(array('type' => 'page', 'name' => 'page')); $type->save(); node_add_body_field($type); // Create anonymous user role. $role = Role::create(array('id' => 'anonymous', 'label' => 'anonymous')); $role->save(); // Insert the anonymous user into the database. $anonymous_user = User::create(array('uid' => 0, 'name' => '')); $anonymous_user->save(); // Default node values for all nodes we create below. $this->nodeData = array('status' => NODE_PUBLISHED, 'type' => 'page', 'title' => $this->randomMachineName(8), 'body' => array('value' => $this->randomMachineName(32), 'summary' => $this->randomMachineName(16), 'format' => 'plain_text'), 'uid' => $anonymous_user->id()); // Create some test nodes with valid user on it for rendering a picture. $this->nodes[0] = Node::create($this->nodeData); $this->nodes[0]->save(); $this->nodes[1] = Node::create($this->nodeData); $this->nodes[1]->save(); // Set proper configuration for the tested processor. $config = $this->processor->getConfiguration(); $config['view_mode'] = array('entity:node' => 'full', 'entity:user' => 'compact', 'entity:comment' => 'teaser'); $config['roles'] = array($role->id()); $this->processor->setConfiguration($config); // Enable the processor's field on the index. $fields = $this->index->getOption('fields'); $fields['rendered_item'] = array('type' => 'string'); $this->index->setOption('fields', $fields); $this->index->save(); $this->index->getDatasources(); // Enable the classy theme as the tests rely on markup from that. \Drupal::service('theme_handler')->install(array('classy')); \Drupal::theme()->setActiveTheme(\Drupal::service('theme.initialization')->initTheme('classy')); }