function PageExampleTestCase::testPageExampleBasic in Examples for Developers 6
Same name and namespace in other branches
- 7 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 - Test case for Testing the page example module.
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');
}