48 lines
1.4 KiB
PHP
48 lines
1.4 KiB
PHP
|
<?php
|
||
|
|
||
|
class SiteTest extends WebTestCase
|
||
|
{
|
||
|
public function testIndex()
|
||
|
{
|
||
|
$this->open('');
|
||
|
$this->assertTextPresent('Welcome');
|
||
|
}
|
||
|
|
||
|
public function testContact()
|
||
|
{
|
||
|
$this->open('?r=site/contact');
|
||
|
$this->assertTextPresent('Contact Us');
|
||
|
$this->assertElementPresent('name=ContactForm[name]');
|
||
|
|
||
|
$this->type('name=ContactForm[name]','tester');
|
||
|
$this->type('name=ContactForm[email]','tester@example.com');
|
||
|
$this->type('name=ContactForm[subject]','test subject');
|
||
|
$this->click("//input[@value='Submit']");
|
||
|
$this->waitForTextPresent('Body cannot be blank.');
|
||
|
}
|
||
|
|
||
|
public function testLoginLogout()
|
||
|
{
|
||
|
$this->open('');
|
||
|
// ensure the user is logged out
|
||
|
if($this->isTextPresent('Logout'))
|
||
|
$this->clickAndWait('link=Logout (demo)');
|
||
|
|
||
|
// test login process, including validation
|
||
|
$this->clickAndWait('link=Login');
|
||
|
$this->assertElementPresent('name=LoginForm[username]');
|
||
|
$this->type('name=LoginForm[username]','demo');
|
||
|
$this->click("//input[@value='Login']");
|
||
|
$this->waitForTextPresent('Password cannot be blank.');
|
||
|
$this->type('name=LoginForm[password]','demo');
|
||
|
$this->clickAndWait("//input[@value='Login']");
|
||
|
$this->assertTextNotPresent('Password cannot be blank.');
|
||
|
$this->assertTextPresent('Logout');
|
||
|
|
||
|
// test logout process
|
||
|
$this->assertTextNotPresent('Login');
|
||
|
$this->clickAndWait('link=Logout (demo)');
|
||
|
$this->assertTextPresent('Login');
|
||
|
}
|
||
|
}
|