Commit ab3dfbac by Qiang Xue

Simplified tests.

parent 404757bf
...@@ -9,50 +9,14 @@ class ContactPage extends BasePage ...@@ -9,50 +9,14 @@ class ContactPage extends BasePage
public $route = 'site/contact'; public $route = 'site/contact';
/** /**
* contact form name text field locator
* @var string
*/
public $name = 'input[name="ContactForm[name]"]';
/**
* contact form email text field locator
* @var string
*/
public $email = 'input[name="ContactForm[email]"]';
/**
* contact form subject text field locator
* @var string
*/
public $subject = 'input[name="ContactForm[subject]"]';
/**
* contact form body textarea locator
* @var string
*/
public $body = 'textarea[name="ContactForm[body]"]';
/**
* contact form verification code text field locator
* @var string
*/
public $verifyCode = 'input[name="ContactForm[verifyCode]"]';
/**
* contact form submit button
* @var string
*/
public $button = 'button[type=submit]';
/**
*
* @param array $contactData * @param array $contactData
*/ */
public function submit(array $contactData) public function submit(array $contactData)
{ {
if (!empty($contactData)) $data = [];
{ foreach ($contactData as $name => $value) {
$this->guy->fillField($this->name, $contactData['name']); $data["ContactForm[$name]"] = $value;
$this->guy->fillField($this->email, $contactData['email']);
$this->guy->fillField($this->subject, $contactData['subject']);
$this->guy->fillField($this->body, $contactData['body']);
$this->guy->fillField($this->verifyCode, $contactData['verifyCode']);
} }
$this->guy->click($this->button); $this->guy->submitForm('#contact-form', $data);
} }
} }
...@@ -9,30 +9,14 @@ class LoginPage extends BasePage ...@@ -9,30 +9,14 @@ class LoginPage extends BasePage
public $route = 'site/login'; public $route = 'site/login';
/** /**
* login form username text field locator
* @var string
*/
public $username = 'input[name="LoginForm[username]"]';
/**
* login form password text field locator
* @var string
*/
public $password = 'input[name="LoginForm[password]"]';
/**
* login form submit button locator
* @var string
*/
public $button = 'button[type=submit]';
/**
*
* @param string $username * @param string $username
* @param string $password * @param string $password
*/ */
public function login($username, $password) public function login($username, $password)
{ {
$this->guy->fillField($this->username, $username); $this->guy->submitForm('#login-form', [
$this->guy->fillField($this->password, $password); 'LoginForm[username]' => $username,
$this->guy->click($this->button); 'LoginForm[password]' => $password,
]);
} }
} }
<?php <?php
use tests\functional\_pages\ContactPage; use tests\_pages\ContactPage;
$I = new TestGuy($scenario); $I = new TestGuy($scenario);
$I->wantTo('ensure that contact works'); $I->wantTo('ensure that contact works');
......
<?php <?php
use tests\functional\_pages\LoginPage; use tests\_pages\LoginPage;
$I = new TestGuy($scenario); $I = new TestGuy($scenario);
$I->wantTo('ensure that login works'); $I->wantTo('ensure that login works');
......
<?php
namespace tests\functional\_pages;
class ContactPage extends \tests\_pages\ContactPage
{
/**
* contact form name text field locator
* @var string
*/
public $name = 'ContactForm[name]';
/**
* contact form email text field locator
* @var string
*/
public $email = 'ContactForm[email]';
/**
* contact form subject text field locator
* @var string
*/
public $subject = 'ContactForm[subject]';
/**
* contact form body textarea locator
* @var string
*/
public $body = 'ContactForm[body]';
/**
* contact form verification code text field locator
* @var string
*/
public $verifyCode = 'ContactForm[verifyCode]';
/**
*
* @param array $contactData
*/
public function submit(array $contactData)
{
if (empty($contactData)) {
$this->guy->submitForm('#contact-form', []);
} else {
$this->guy->submitForm('#contact-form', [
$this->name => $contactData['name'],
$this->email => $contactData['email'],
$this->subject => $contactData['subject'],
$this->body => $contactData['body'],
$this->verifyCode => $contactData['verifyCode'],
]);
}
}
}
<?php
namespace tests\functional\_pages;
class LoginPage extends \tests\_pages\LoginPage
{
/**
* login form username text field locator
* @var string
*/
public $username = 'LoginForm[username]';
/**
* login form password text field locator
* @var string
*/
public $password = 'LoginForm[password]';
/**
*
* @param string $username
* @param string $password
*/
public function login($username, $password)
{
$this->guy->submitForm('#login-form', [
$this->username => $username,
$this->password => $password,
]);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment