tests modified, bootstrap added
This commit is contained in:
parent
84da8ffa89
commit
d2214e4f0a
1
tests/_bootstrap.php
Normal file
1
tests/_bootstrap.php
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?php
|
10
tests/_pages/AboutPage.php
Normal file
10
tests/_pages/AboutPage.php
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace tests\_pages;
|
||||||
|
|
||||||
|
class AboutPage extends BasePage
|
||||||
|
{
|
||||||
|
|
||||||
|
public static $URL = '?r=site/about';
|
||||||
|
|
||||||
|
}
|
45
tests/_pages/BasePage.php
Normal file
45
tests/_pages/BasePage.php
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace tests\_pages;
|
||||||
|
|
||||||
|
class BasePage
|
||||||
|
{
|
||||||
|
|
||||||
|
// include url of current page
|
||||||
|
public static $URL = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Declare UI map for this page here. CSS or XPath allowed.
|
||||||
|
* public static $usernameField = '#username';
|
||||||
|
* public static $formSubmitButton = "#mainForm input[type=submit]";
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Basic route example for your current URL
|
||||||
|
* You can append any additional parameter to URL
|
||||||
|
* and use it in tests like: EditPage::route('/123-post');
|
||||||
|
*/
|
||||||
|
public static function route($param)
|
||||||
|
{
|
||||||
|
return static::$URL.$param;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var
|
||||||
|
*/
|
||||||
|
protected $guy;
|
||||||
|
|
||||||
|
public function __construct($I)
|
||||||
|
{
|
||||||
|
$this->guy = $I;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public static function of($I)
|
||||||
|
{
|
||||||
|
return new static($I);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
63
tests/_pages/ContactPage.php
Normal file
63
tests/_pages/ContactPage.php
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace tests\_pages;
|
||||||
|
|
||||||
|
class ContactPage extends BasePage
|
||||||
|
{
|
||||||
|
|
||||||
|
public static $URL = '?r=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
|
||||||
|
*/
|
||||||
|
public function submit(array $contactData)
|
||||||
|
{
|
||||||
|
if (!empty($contactData))
|
||||||
|
{
|
||||||
|
$this->guy->fillField($this->name,$contactData['name']);
|
||||||
|
$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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
40
tests/_pages/LoginPage.php
Normal file
40
tests/_pages/LoginPage.php
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace tests\_pages;
|
||||||
|
|
||||||
|
class LoginPage extends BasePage
|
||||||
|
{
|
||||||
|
|
||||||
|
public static $URL = '?r=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 $password
|
||||||
|
*/
|
||||||
|
public function login($username, $password)
|
||||||
|
{
|
||||||
|
$this->guy->fillField($this->username,$username);
|
||||||
|
$this->guy->fillField($this->password,$password);
|
||||||
|
$this->guy->click($this->button);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -11,8 +11,9 @@
|
|||||||
class_name: WebGuy
|
class_name: WebGuy
|
||||||
modules:
|
modules:
|
||||||
enabled:
|
enabled:
|
||||||
- PhpBrowser
|
|
||||||
- WebHelper
|
- WebHelper
|
||||||
|
- WebDriver
|
||||||
config:
|
config:
|
||||||
PhpBrowser:
|
WebDriver:
|
||||||
url: 'http://localhost/index-test.php'
|
url: 'http://localhost/basic/web/index-test-accept.php'
|
||||||
|
browser: firefox
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
use tests\_pages\AboutPage;
|
||||||
|
|
||||||
$I = new WebGuy($scenario);
|
$I = new WebGuy($scenario);
|
||||||
$I->wantTo('ensure that about works');
|
$I->wantTo('ensure that about works');
|
||||||
$I->amOnPage('?r=site/about');
|
$I->amOnPage(AboutPage::$URL);
|
||||||
$I->see('About', 'h1');
|
$I->see('About', 'h1');
|
||||||
|
@ -1,10 +1,16 @@
|
|||||||
<?php
|
<?php
|
||||||
|
use tests\_pages\ContactPage;
|
||||||
|
|
||||||
$I = new WebGuy($scenario);
|
$I = new WebGuy($scenario);
|
||||||
$I->wantTo('ensure that contact works');
|
$I->wantTo('ensure that contact works');
|
||||||
$I->amOnPage('?r=site/contact');
|
$contactPage = ContactPage::of($I);
|
||||||
|
|
||||||
|
$I->amOnPage(ContactPage::$URL);
|
||||||
$I->see('Contact', 'h1');
|
$I->see('Contact', 'h1');
|
||||||
|
|
||||||
$I->submitForm('#contact-form', []);
|
$I->amGoingTo('submit contact form with no data');
|
||||||
|
$contactPage->submit([]);
|
||||||
|
$I->expectTo('see validations errors');
|
||||||
$I->see('Contact', 'h1');
|
$I->see('Contact', 'h1');
|
||||||
$I->see('Name cannot be blank');
|
$I->see('Name cannot be blank');
|
||||||
$I->see('Email cannot be blank');
|
$I->see('Email cannot be blank');
|
||||||
@ -12,25 +18,29 @@ $I->see('Subject cannot be blank');
|
|||||||
$I->see('Body cannot be blank');
|
$I->see('Body cannot be blank');
|
||||||
$I->see('The verification code is incorrect');
|
$I->see('The verification code is incorrect');
|
||||||
|
|
||||||
$I->submitForm('#contact-form', [
|
$I->amGoingTo('submit contact form with not correct email');
|
||||||
'ContactForm[name]' => 'tester',
|
$contactPage->submit([
|
||||||
'ContactForm[email]' => 'tester.email',
|
'name' => 'tester',
|
||||||
'ContactForm[subject]' => 'test subject',
|
'email' => 'tester.email',
|
||||||
'ContactForm[body]' => 'test content',
|
'subject' => 'test subject',
|
||||||
'ContactForm[verifyCode]' => 'testme',
|
'body' => 'test content',
|
||||||
|
'verifyCode' => 'testme',
|
||||||
]);
|
]);
|
||||||
|
$I->expectTo('see that email adress is wrong');
|
||||||
$I->dontSee('Name cannot be blank', '.help-inline');
|
$I->dontSee('Name cannot be blank', '.help-inline');
|
||||||
$I->see('Email is not a valid email address.');
|
$I->see('Email is not a valid email address.');
|
||||||
$I->dontSee('Subject cannot be blank', '.help-inline');
|
$I->dontSee('Subject cannot be blank', '.help-inline');
|
||||||
$I->dontSee('Body cannot be blank', '.help-inline');
|
$I->dontSee('Body cannot be blank', '.help-inline');
|
||||||
$I->dontSee('The verification code is incorrect', '.help-inline');
|
$I->dontSee('The verification code is incorrect', '.help-inline');
|
||||||
|
|
||||||
$I->submitForm('#contact-form', [
|
$I->amGoingTo('submit contact form with correct data');
|
||||||
'ContactForm[name]' => 'tester',
|
$contactPage->submit([
|
||||||
'ContactForm[email]' => 'tester@example.com',
|
'name' => 'tester',
|
||||||
'ContactForm[subject]' => 'test subject',
|
'email' => 'tester@example.com',
|
||||||
'ContactForm[body]' => 'test content',
|
'subject' => 'test subject',
|
||||||
'ContactForm[verifyCode]' => 'testme',
|
'body' => 'test content',
|
||||||
|
'verifyCode' => 'testme',
|
||||||
]);
|
]);
|
||||||
|
$I->wait(3);
|
||||||
$I->dontSeeElement('#contact-form');
|
$I->dontSeeElement('#contact-form');
|
||||||
$I->see('Thank you for contacting us. We will respond to you as soon as possible.');
|
$I->see('Thank you for contacting us. We will respond to you as soon as possible.');
|
||||||
|
@ -1,23 +1,26 @@
|
|||||||
<?php
|
<?php
|
||||||
|
use tests\_pages\LoginPage;
|
||||||
|
|
||||||
$I = new WebGuy($scenario);
|
$I = new WebGuy($scenario);
|
||||||
$I->wantTo('ensure that login works');
|
$I->wantTo('ensure that login works');
|
||||||
$I->amOnPage('?r=site/login');
|
$loginPage = LoginPage::of($I);
|
||||||
|
|
||||||
|
$I->amOnPage(LoginPage::$URL);
|
||||||
$I->see('Login', 'h1');
|
$I->see('Login', 'h1');
|
||||||
|
|
||||||
$I->submitForm('#login-form', []);
|
$I->amGoingTo('try to login with empty credentials');
|
||||||
$I->dontSee('Logout (admin)');
|
$loginPage->login('', '');
|
||||||
$I->see('Username cannot be blank');
|
$I->expectTo('see validations errors');
|
||||||
$I->see('Password cannot be blank');
|
$I->see('Username cannot be blank.');
|
||||||
|
$I->see('Password cannot be blank.');
|
||||||
|
|
||||||
$I->submitForm('#login-form', [
|
$I->amGoingTo('try to login with wrong credentials');
|
||||||
'LoginForm[username]' => 'admin',
|
$loginPage->login('admin', 'wrong');
|
||||||
'LoginForm[password]' => 'wrong',
|
$I->expectTo('see validations errors');
|
||||||
]);
|
$I->see('Incorrect username or password.');
|
||||||
$I->dontSee('Logout (admin)');
|
|
||||||
$I->see('Incorrect username or password');
|
|
||||||
|
|
||||||
$I->submitForm('#login-form', [
|
$I->amGoingTo('try to login with correct credentials');
|
||||||
'LoginForm[username]' => 'admin',
|
$loginPage->login('admin', 'admin');
|
||||||
'LoginForm[password]' => 'admin',
|
$I->wait(3);
|
||||||
]);
|
$I->expectTo('see user info');
|
||||||
$I->see('Logout (admin)');
|
$I->see('Logout (admin)');
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,2 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
// Here you can initialize variables that will for your tests
|
// Here you can initialize variables that will for your tests
|
||||||
|
|
||||||
|
$config = require(__DIR__.'/../yii_bootstrap.php');
|
||||||
|
|
||||||
|
$config = yii\helpers\ArrayHelper::merge(
|
||||||
|
$config,
|
||||||
|
require(__DIR__ . '/../../config/codeception/acceptance.php')
|
||||||
|
);
|
||||||
|
|
||||||
|
$application = new yii\web\Application($config);
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
# (tip: better to use with frameworks).
|
# (tip: better to use with frameworks).
|
||||||
|
|
||||||
# RUN `build` COMMAND AFTER ADDING/REMOVING MODULES.
|
# RUN `build` COMMAND AFTER ADDING/REMOVING MODULES.
|
||||||
|
#basic/web/index-test-func.php
|
||||||
class_name: TestGuy
|
class_name: TestGuy
|
||||||
modules:
|
modules:
|
||||||
enabled: [Filesystem, TestHelper, Yii2]
|
enabled: [Filesystem, TestHelper, Yii2]
|
||||||
config:
|
config:
|
||||||
Yii2:
|
Yii2:
|
||||||
entryScript: 'web/index-test.php'
|
entryScript: 'web/index-test-func.php'
|
||||||
url: 'http://localhost/'
|
url: 'http://localhost/'
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use tests\_pages\AboutPage;
|
||||||
|
|
||||||
$I = new TestGuy($scenario);
|
$I = new TestGuy($scenario);
|
||||||
$I->wantTo('ensure that about works');
|
$I->wantTo('ensure that about works');
|
||||||
$I->amOnPage('?r=site/about');
|
$I->amOnPage(AboutPage::$URL);
|
||||||
$I->see('About', 'h1');
|
$I->see('About', 'h1');
|
||||||
|
@ -1,10 +1,16 @@
|
|||||||
<?php
|
<?php
|
||||||
|
use tests\functional\_pages\ContactPage;
|
||||||
|
|
||||||
$I = new TestGuy($scenario);
|
$I = new TestGuy($scenario);
|
||||||
$I->wantTo('ensure that contact works');
|
$I->wantTo('ensure that contact works');
|
||||||
$I->amOnPage('?r=site/contact');
|
$contactPage = ContactPage::of($I);
|
||||||
|
|
||||||
|
$I->amOnPage(ContactPage::$URL);
|
||||||
$I->see('Contact', 'h1');
|
$I->see('Contact', 'h1');
|
||||||
|
|
||||||
$I->submitForm('#contact-form', []);
|
$I->amGoingTo('submit contact form with no data');
|
||||||
|
$contactPage->submit([]);
|
||||||
|
$I->expectTo('see validations errors');
|
||||||
$I->see('Contact', 'h1');
|
$I->see('Contact', 'h1');
|
||||||
$I->see('Name cannot be blank');
|
$I->see('Name cannot be blank');
|
||||||
$I->see('Email cannot be blank');
|
$I->see('Email cannot be blank');
|
||||||
@ -12,25 +18,28 @@ $I->see('Subject cannot be blank');
|
|||||||
$I->see('Body cannot be blank');
|
$I->see('Body cannot be blank');
|
||||||
$I->see('The verification code is incorrect');
|
$I->see('The verification code is incorrect');
|
||||||
|
|
||||||
$I->submitForm('#contact-form', [
|
$I->amGoingTo('submit contact form with not correct email');
|
||||||
'ContactForm[name]' => 'tester',
|
$contactPage->submit([
|
||||||
'ContactForm[email]' => 'tester.email',
|
'name' => 'tester',
|
||||||
'ContactForm[subject]' => 'test subject',
|
'email' => 'tester.email',
|
||||||
'ContactForm[body]' => 'test content',
|
'subject' => 'test subject',
|
||||||
'ContactForm[verifyCode]' => 'testme',
|
'body' => 'test content',
|
||||||
|
'verifyCode' => 'testme',
|
||||||
]);
|
]);
|
||||||
|
$I->expectTo('see that email adress is wrong');
|
||||||
$I->dontSee('Name cannot be blank', '.help-inline');
|
$I->dontSee('Name cannot be blank', '.help-inline');
|
||||||
$I->see('Email is not a valid email address.');
|
$I->see('Email is not a valid email address.');
|
||||||
$I->dontSee('Subject cannot be blank', '.help-inline');
|
$I->dontSee('Subject cannot be blank', '.help-inline');
|
||||||
$I->dontSee('Body cannot be blank', '.help-inline');
|
$I->dontSee('Body cannot be blank', '.help-inline');
|
||||||
$I->dontSee('The verification code is incorrect', '.help-inline');
|
$I->dontSee('The verification code is incorrect', '.help-inline');
|
||||||
|
|
||||||
$I->submitForm('#contact-form', [
|
$I->amGoingTo('submit contact form with correct data');
|
||||||
'ContactForm[name]' => 'tester',
|
$contactPage->submit([
|
||||||
'ContactForm[email]' => 'tester@example.com',
|
'name' => 'tester',
|
||||||
'ContactForm[subject]' => 'test subject',
|
'email' => 'tester@example.com',
|
||||||
'ContactForm[body]' => 'test content',
|
'subject' => 'test subject',
|
||||||
'ContactForm[verifyCode]' => 'testme',
|
'body' => 'test content',
|
||||||
|
'verifyCode' => 'testme',
|
||||||
]);
|
]);
|
||||||
$I->dontSeeElement('#contact-form');
|
$I->dontSeeElement('#contact-form');
|
||||||
$I->see('Thank you for contacting us. We will respond to you as soon as possible.');
|
$I->see('Thank you for contacting us. We will respond to you as soon as possible.');
|
||||||
|
@ -1,23 +1,25 @@
|
|||||||
<?php
|
<?php
|
||||||
|
use tests\functional\_pages\LoginPage;
|
||||||
|
|
||||||
$I = new TestGuy($scenario);
|
$I = new TestGuy($scenario);
|
||||||
$I->wantTo('ensure that login works');
|
$I->wantTo('ensure that login works');
|
||||||
$I->amOnPage('?r=site/login');
|
$loginPage = LoginPage::of($I);
|
||||||
|
|
||||||
|
$I->amOnPage(LoginPage::$URL);
|
||||||
$I->see('Login', 'h1');
|
$I->see('Login', 'h1');
|
||||||
|
|
||||||
$I->submitForm('#login-form', []);
|
$I->amGoingTo('try to login with empty credentials');
|
||||||
$I->dontSee('Logout (admin)');
|
$loginPage->login('', '');
|
||||||
$I->see('Username cannot be blank');
|
$I->expectTo('see validations errors');
|
||||||
$I->see('Password cannot be blank');
|
$I->see('Username cannot be blank.');
|
||||||
|
$I->see('Password cannot be blank.');
|
||||||
|
|
||||||
$I->submitForm('#login-form', [
|
$I->amGoingTo('try to login with wrong credentials');
|
||||||
'LoginForm[username]' => 'admin',
|
$loginPage->login('admin', 'wrong');
|
||||||
'LoginForm[password]' => 'wrong',
|
$I->expectTo('see validations errors');
|
||||||
]);
|
$I->see('Incorrect username or password.');
|
||||||
$I->dontSee('Logout (admin)');
|
|
||||||
$I->see('Incorrect username or password');
|
|
||||||
|
|
||||||
$I->submitForm('#login-form', [
|
$I->amGoingTo('try to login with correct credentials');
|
||||||
'LoginForm[username]' => 'admin',
|
$loginPage->login('admin', 'admin');
|
||||||
'LoginForm[password]' => 'admin',
|
$I->expectTo('see user info');
|
||||||
]);
|
|
||||||
$I->see('Logout (admin)');
|
$I->see('Logout (admin)');
|
||||||
|
@ -440,6 +440,25 @@ class TestGuy extends \Codeception\AbstractGuy
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is generated.
|
||||||
|
* Documentation taken from corresponding module.
|
||||||
|
* ----------------------------------------------
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @see Codeception\Module::getName()
|
||||||
|
* @return \Codeception\Maybe
|
||||||
|
*/
|
||||||
|
public function getName() {
|
||||||
|
$this->scenario->addStep(new \Codeception\Step\Action('getName', func_get_args()));
|
||||||
|
if ($this->scenario->running()) {
|
||||||
|
$result = $this->scenario->runStep();
|
||||||
|
return new Maybe($result);
|
||||||
|
}
|
||||||
|
return new Maybe();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is generated.
|
* This method is generated.
|
||||||
* Documentation taken from corresponding module.
|
* Documentation taken from corresponding module.
|
||||||
|
@ -1,2 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
// Here you can initialize variables that will for your tests
|
|
||||||
|
$config = require(__DIR__.'/../yii_bootstrap.php');
|
||||||
|
|
||||||
|
$config = yii\helpers\ArrayHelper::merge(
|
||||||
|
$config,
|
||||||
|
require(__DIR__ . '/../../config/codeception/functional.php')
|
||||||
|
);
|
||||||
|
|
||||||
|
$application = new yii\web\Application($config);
|
||||||
|
56
tests/functional/_pages/ContactPage.php
Normal file
56
tests/functional/_pages/ContactPage.php
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
<?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'],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
33
tests/functional/_pages/LoginPage.php
Normal file
33
tests/functional/_pages/LoginPage.php
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?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,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -26,5 +26,22 @@ use Codeception\Module\CodeHelper;
|
|||||||
class CodeGuy extends \Codeception\AbstractGuy
|
class CodeGuy extends \Codeception\AbstractGuy
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is generated.
|
||||||
|
* Documentation taken from corresponding module.
|
||||||
|
* ----------------------------------------------
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @see Codeception\Module::getName()
|
||||||
|
* @return \Codeception\Maybe
|
||||||
|
*/
|
||||||
|
public function getName() {
|
||||||
|
$this->scenario->addStep(new \Codeception\Step\Action('getName', func_get_args()));
|
||||||
|
if ($this->scenario->running()) {
|
||||||
|
$result = $this->scenario->runStep();
|
||||||
|
return new Maybe($result);
|
||||||
|
}
|
||||||
|
return new Maybe();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,2 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
// Here you can initialize variables that will for your tests
|
|
||||||
|
$config = require(__DIR__.'/../yii_bootstrap.php');
|
||||||
|
|
||||||
|
$config = yii\helpers\ArrayHelper::merge(
|
||||||
|
$config,
|
||||||
|
require(__DIR__ . '/../../config/codeception/unit.php')
|
||||||
|
);
|
||||||
|
|
||||||
|
$application = new yii\web\Application($config);
|
||||||
|
16
tests/unit/models/ContactFormTest.php
Normal file
16
tests/unit/models/ContactFormTest.php
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace tests\unit\models;
|
||||||
|
|
||||||
|
class ContactFormTest extends \PHPUnit_Framework_TestCase
|
||||||
|
{
|
||||||
|
|
||||||
|
protected function setUp()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function tearDown()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
16
tests/unit/models/LoginFormTest.php
Normal file
16
tests/unit/models/LoginFormTest.php
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace tests\unit\models;
|
||||||
|
|
||||||
|
class LoginFormTest extends \PHPUnit_Framework_TestCase
|
||||||
|
{
|
||||||
|
|
||||||
|
protected function setUp()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function tearDown()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
27
tests/unit/models/UserTest.php
Normal file
27
tests/unit/models/UserTest.php
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace tests\unit\models;
|
||||||
|
|
||||||
|
#use yii\test\DbTestTrait;
|
||||||
|
|
||||||
|
class UserTest extends \PHPUnit_Framework_TestCase
|
||||||
|
{
|
||||||
|
|
||||||
|
use DbTestTrait;
|
||||||
|
|
||||||
|
protected function setUp()
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* you can load fixtures in this way
|
||||||
|
*
|
||||||
|
$this->loadFixtures([
|
||||||
|
'tbl_user',
|
||||||
|
]);
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function tearDown()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
10
tests/yii_bootstrap.php
Normal file
10
tests/yii_bootstrap.php
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
defined('YII_DEBUG') or define('YII_DEBUG', true);
|
||||||
|
|
||||||
|
defined('YII_ENV') or define('YII_ENV', 'test');
|
||||||
|
|
||||||
|
require_once(__DIR__ . '/../vendor/autoload.php');
|
||||||
|
require_once(__DIR__ . '/../vendor/yiisoft/yii2/yii/Yii.php');
|
||||||
|
|
||||||
|
return require(__DIR__ . '/../config/web.php');
|
Loading…
Reference in New Issue
Block a user