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.