function BookTestCase::testBookDelete

Tests the access for deleting top-level book nodes.

File

modules/book/book.test, line 377

Class

BookTestCase
Tests the functionality of the Book module.

Code

function testBookDelete() {
    $nodes = $this->createBook();
    $this->drupalLogin($this->admin_user);
    $edit = array();
    // Test access to delete top-level and child book nodes.
    $this->drupalGet('node/' . $this->book->nid . '/outline/remove');
    $this->assertResponse('403', 'Deleting top-level book node properly forbidden.');
    $this->drupalPost('node/' . $nodes[4]->nid . '/outline/remove', $edit, t('Remove'));
    $node4 = node_load($nodes[4]->nid, NULL, TRUE);
    $this->assertTrue(empty($node4->book), 'Deleting child book node properly allowed.');
    // Delete all child book nodes and retest top-level node deletion.
    foreach ($nodes as $node) {
        $nids[] = $node->nid;
    }
    node_delete_multiple($nids);
    $this->drupalPost('node/' . $this->book->nid . '/outline/remove', $edit, t('Remove'));
    $node = node_load($this->book->nid, NULL, TRUE);
    $this->assertTrue(empty($node->book), 'Deleting childless top-level book node properly allowed.');
}

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