function PageExampleTestCase::testPageExampleBasic

Same name in other branches
  1. 7.x-1.x page_example/page_example.test \PageExampleTestCase::testPageExampleBasic()

Login user, create an example node, and test blog functionality through the admin and user interfaces.

File

page_example/page_example.test, line 60

Class

PageExampleTestCase
@file Test case for Testing the page example module.

Code

function testPageExampleBasic() {
    // Verify that anonymous user can't access the pages created by
    // page_example module
    $this->pageExampleVerifyNoAccess('examples/page_example/simple');
    $this->pageExampleVerifyNoAccess('examples/page_example/arguments/1/2');
    // Create a regular user and login.
    $this->web_user = $this->drupalCreateUser();
    $this->drupalLogin($this->web_user);
    // Verify that regular user can't access the pages created by
    // page_example module
    $this->pageExampleVerifyNoAccess('examples/page_example/simple');
    $this->pageExampleVerifyNoAccess('examples/page_example/arguments/1/2');
    // Create a user with permissions to access 'simple' page and login.
    $this->web_user = $this->drupalCreateUser(array(
        'access simple page',
    ));
    $this->drupalLogin($this->web_user);
    // Verify that user can access foo content
    $this->drupalGet('examples/page_example/simple');
    $this->assertResponse(200, t('Simple page content successfully accessed.'));
    $this->assertText(t('The quick brown fox jumps over the lazy dog.'), t('foo content successfully verified.'));
    // Check if user can't access arguments page
    $this->pageExampleVerifyNoAccess('examples/page_example/arguments/1/2');
    // Create a user with permissions to access 'arguments' page and login.
    $this->web_user = $this->drupalCreateUser(array(
        'access arguments page',
    ));
    $this->drupalLogin($this->web_user);
    // Verify that user can access foo content
    $first = $this->randomNumber(3);
    $second = $this->randomNumber(3);
    $this->drupalGet('examples/page_example/arguments/' . $first . '/' . $second);
    $this->assertResponse(200, t('arguments content successfully accessed.'));
    // Verify argument usage
    $this->assertRaw(t("First number was @number.", array(
        '@number' => $first,
    )), t('arguments first argument successfully verified.'));
    $this->assertRaw(t("Second number was @number.", array(
        '@number' => $second,
    )), t('arguments second argument successfully verified.'));
    $this->assertRaw(t('The total was @number.', array(
        '@number' => $first + $second,
    )), t('arguments content successfully verified.'));
    // Verify incomplete argument call to arguments content
    $this->drupalGet('examples/page_example/arguments/' . $first . '/');
    $this->assertText("provides four pages");
    // Verify invalid argument call to arguments content
    $this->drupalGet('examples/page_example/arguments/' . $first . '/' . $this->randomString());
    $this->assertResponse(403, t('Invalid argument for arguments content successfully verified'));
    // Verify invalid argument call to arguments content
    $this->drupalGet('examples/page_example/arguments/' . $this->randomString() . '/' . $second);
    $this->assertResponse(403, t('Invalid argument for arguments content successfully verified'));
    // Check if user can't access simple page
    $this->pageExampleVerifyNoAccess('examples/page_example/simple');
}