function NodePageCacheTest::testNodeDelete

Tests deleting nodes clears page cache.

File

modules/node/node.test, line 3055

Class

NodePageCacheTest
Tests the cache invalidation of node operations.

Code

public function testNodeDelete() {
  $node_path = 'node/' . $this->drupalCreateNode()->nid;
  // Populate page cache.
  $this->drupalGet($node_path);
  // Login and delete the node.
  $this->drupalLogin($this->admin_user);
  $this->drupalPost($node_path . '/delete', array(), t('Delete'));
  // Logout and check the node is not available.
  $this->drupalLogout();
  $this->drupalGet($node_path);
  $this->assertResponse(404);
  // Create two new nodes.
  $nodes[0] = $this->drupalCreateNode();
  $nodes[1] = $this->drupalCreateNode();
  $node_path = 'node/' . $nodes[0]->nid;
  // Populate page cache.
  $this->drupalGet($node_path);
  // Login and delete the nodes.
  $this->drupalLogin($this->admin_user);
  $this->drupalGet('admin/content');
  $edit = array(
    'operation' => 'delete',
    'nodes[' . $nodes[0]->nid . ']' => TRUE,
    'nodes[' . $nodes[1]->nid . ']' => TRUE,
  );
  $this->drupalPost(NULL, $edit, t('Update'));
  $this->drupalPost(NULL, array(), t('Delete'));
  // Logout and check the node is not available.
  $this->drupalLogout();
  $this->drupalGet($node_path);
  $this->assertResponse(404);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.