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
|
||||
modules:
|
||||
enabled:
|
||||
- PhpBrowser
|
||||
- WebHelper
|
||||
- WebDriver
|
||||
config:
|
||||
PhpBrowser:
|
||||
url: 'http://localhost/index-test.php'
|
||||
WebDriver:
|
||||
url: 'http://localhost/basic/web/index-test-accept.php'
|
||||
browser: firefox
|
||||
|
@ -1,5 +1,7 @@
|
||||
<?php
|
||||
use tests\_pages\AboutPage;
|
||||
|
||||
$I = new WebGuy($scenario);
|
||||
$I->wantTo('ensure that about works');
|
||||
$I->amOnPage('?r=site/about');
|
||||
$I->amOnPage(AboutPage::$URL);
|
||||
$I->see('About', 'h1');
|
||||
|
@ -1,10 +1,16 @@
|
||||
<?php
|
||||
use tests\_pages\ContactPage;
|
||||
|
||||
$I = new WebGuy($scenario);
|
||||
$I->wantTo('ensure that contact works');
|
||||
$I->amOnPage('?r=site/contact');
|
||||
$contactPage = ContactPage::of($I);
|
||||
|
||||
$I->amOnPage(ContactPage::$URL);
|
||||
$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('Name 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('The verification code is incorrect');
|
||||
|
||||
$I->submitForm('#contact-form', [
|
||||
'ContactForm[name]' => 'tester',
|
||||
'ContactForm[email]' => 'tester.email',
|
||||
'ContactForm[subject]' => 'test subject',
|
||||
'ContactForm[body]' => 'test content',
|
||||
'ContactForm[verifyCode]' => 'testme',
|
||||
$I->amGoingTo('submit contact form with not correct email');
|
||||
$contactPage->submit([
|
||||
'name' => 'tester',
|
||||
'email' => 'tester.email',
|
||||
'subject' => 'test subject',
|
||||
'body' => 'test content',
|
||||
'verifyCode' => 'testme',
|
||||
]);
|
||||
$I->expectTo('see that email adress is wrong');
|
||||
$I->dontSee('Name cannot be blank', '.help-inline');
|
||||
$I->see('Email is not a valid email address.');
|
||||
$I->dontSee('Subject cannot be blank', '.help-inline');
|
||||
$I->dontSee('Body cannot be blank', '.help-inline');
|
||||
$I->dontSee('The verification code is incorrect', '.help-inline');
|
||||
|
||||
$I->submitForm('#contact-form', [
|
||||
'ContactForm[name]' => 'tester',
|
||||
'ContactForm[email]' => 'tester@example.com',
|
||||
'ContactForm[subject]' => 'test subject',
|
||||
'ContactForm[body]' => 'test content',
|
||||
'ContactForm[verifyCode]' => 'testme',
|
||||
$I->amGoingTo('submit contact form with correct data');
|
||||
$contactPage->submit([
|
||||
'name' => 'tester',
|
||||
'email' => 'tester@example.com',
|
||||
'subject' => 'test subject',
|
||||
'body' => 'test content',
|
||||
'verifyCode' => 'testme',
|
||||
]);
|
||||
$I->wait(3);
|
||||
$I->dontSeeElement('#contact-form');
|
||||
$I->see('Thank you for contacting us. We will respond to you as soon as possible.');
|
||||
|
@ -1,23 +1,26 @@
|
||||
<?php
|
||||
use tests\_pages\LoginPage;
|
||||
|
||||
$I = new WebGuy($scenario);
|
||||
$I->wantTo('ensure that login works');
|
||||
$I->amOnPage('?r=site/login');
|
||||
$loginPage = LoginPage::of($I);
|
||||
|
||||
$I->amOnPage(LoginPage::$URL);
|
||||
$I->see('Login', 'h1');
|
||||
|
||||
$I->submitForm('#login-form', []);
|
||||
$I->dontSee('Logout (admin)');
|
||||
$I->see('Username cannot be blank');
|
||||
$I->see('Password cannot be blank');
|
||||
$I->amGoingTo('try to login with empty credentials');
|
||||
$loginPage->login('', '');
|
||||
$I->expectTo('see validations errors');
|
||||
$I->see('Username cannot be blank.');
|
||||
$I->see('Password cannot be blank.');
|
||||
|
||||
$I->submitForm('#login-form', [
|
||||
'LoginForm[username]' => 'admin',
|
||||
'LoginForm[password]' => 'wrong',
|
||||
]);
|
||||
$I->dontSee('Logout (admin)');
|
||||
$I->see('Incorrect username or password');
|
||||
$I->amGoingTo('try to login with wrong credentials');
|
||||
$loginPage->login('admin', 'wrong');
|
||||
$I->expectTo('see validations errors');
|
||||
$I->see('Incorrect username or password.');
|
||||
|
||||
$I->submitForm('#login-form', [
|
||||
'LoginForm[username]' => 'admin',
|
||||
'LoginForm[password]' => 'admin',
|
||||
]);
|
||||
$I->amGoingTo('try to login with correct credentials');
|
||||
$loginPage->login('admin', 'admin');
|
||||
$I->wait(3);
|
||||
$I->expectTo('see user info');
|
||||
$I->see('Logout (admin)');
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,2 +1,11 @@
|
||||
<?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/acceptance.php')
|
||||
);
|
||||
|
||||
$application = new yii\web\Application($config);
|
||||
|
@ -5,11 +5,11 @@
|
||||
# (tip: better to use with frameworks).
|
||||
|
||||
# RUN `build` COMMAND AFTER ADDING/REMOVING MODULES.
|
||||
|
||||
#basic/web/index-test-func.php
|
||||
class_name: TestGuy
|
||||
modules:
|
||||
enabled: [Filesystem, TestHelper, Yii2]
|
||||
config:
|
||||
Yii2:
|
||||
entryScript: 'web/index-test.php'
|
||||
entryScript: 'web/index-test-func.php'
|
||||
url: 'http://localhost/'
|
||||
|
@ -1,5 +1,8 @@
|
||||
<?php
|
||||
|
||||
use tests\_pages\AboutPage;
|
||||
|
||||
$I = new TestGuy($scenario);
|
||||
$I->wantTo('ensure that about works');
|
||||
$I->amOnPage('?r=site/about');
|
||||
$I->amOnPage(AboutPage::$URL);
|
||||
$I->see('About', 'h1');
|
||||
|
@ -1,10 +1,16 @@
|
||||
<?php
|
||||
use tests\functional\_pages\ContactPage;
|
||||
|
||||
$I = new TestGuy($scenario);
|
||||
$I->wantTo('ensure that contact works');
|
||||
$I->amOnPage('?r=site/contact');
|
||||
$contactPage = ContactPage::of($I);
|
||||
|
||||
$I->amOnPage(ContactPage::$URL);
|
||||
$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('Name 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('The verification code is incorrect');
|
||||
|
||||
$I->submitForm('#contact-form', [
|
||||
'ContactForm[name]' => 'tester',
|
||||
'ContactForm[email]' => 'tester.email',
|
||||
'ContactForm[subject]' => 'test subject',
|
||||
'ContactForm[body]' => 'test content',
|
||||
'ContactForm[verifyCode]' => 'testme',
|
||||
$I->amGoingTo('submit contact form with not correct email');
|
||||
$contactPage->submit([
|
||||
'name' => 'tester',
|
||||
'email' => 'tester.email',
|
||||
'subject' => 'test subject',
|
||||
'body' => 'test content',
|
||||
'verifyCode' => 'testme',
|
||||
]);
|
||||
$I->expectTo('see that email adress is wrong');
|
||||
$I->dontSee('Name cannot be blank', '.help-inline');
|
||||
$I->see('Email is not a valid email address.');
|
||||
$I->dontSee('Subject cannot be blank', '.help-inline');
|
||||
$I->dontSee('Body cannot be blank', '.help-inline');
|
||||
$I->dontSee('The verification code is incorrect', '.help-inline');
|
||||
|
||||
$I->submitForm('#contact-form', [
|
||||
'ContactForm[name]' => 'tester',
|
||||
'ContactForm[email]' => 'tester@example.com',
|
||||
'ContactForm[subject]' => 'test subject',
|
||||
'ContactForm[body]' => 'test content',
|
||||
'ContactForm[verifyCode]' => 'testme',
|
||||
$I->amGoingTo('submit contact form with correct data');
|
||||
$contactPage->submit([
|
||||
'name' => 'tester',
|
||||
'email' => 'tester@example.com',
|
||||
'subject' => 'test subject',
|
||||
'body' => 'test content',
|
||||
'verifyCode' => 'testme',
|
||||
]);
|
||||
$I->dontSeeElement('#contact-form');
|
||||
$I->see('Thank you for contacting us. We will respond to you as soon as possible.');
|
||||
|
@ -1,23 +1,25 @@
|
||||
<?php
|
||||
use tests\functional\_pages\LoginPage;
|
||||
|
||||
$I = new TestGuy($scenario);
|
||||
$I->wantTo('ensure that login works');
|
||||
$I->amOnPage('?r=site/login');
|
||||
$loginPage = LoginPage::of($I);
|
||||
|
||||
$I->amOnPage(LoginPage::$URL);
|
||||
$I->see('Login', 'h1');
|
||||
|
||||
$I->submitForm('#login-form', []);
|
||||
$I->dontSee('Logout (admin)');
|
||||
$I->see('Username cannot be blank');
|
||||
$I->see('Password cannot be blank');
|
||||
$I->amGoingTo('try to login with empty credentials');
|
||||
$loginPage->login('', '');
|
||||
$I->expectTo('see validations errors');
|
||||
$I->see('Username cannot be blank.');
|
||||
$I->see('Password cannot be blank.');
|
||||
|
||||
$I->submitForm('#login-form', [
|
||||
'LoginForm[username]' => 'admin',
|
||||
'LoginForm[password]' => 'wrong',
|
||||
]);
|
||||
$I->dontSee('Logout (admin)');
|
||||
$I->see('Incorrect username or password');
|
||||
$I->amGoingTo('try to login with wrong credentials');
|
||||
$loginPage->login('admin', 'wrong');
|
||||
$I->expectTo('see validations errors');
|
||||
$I->see('Incorrect username or password.');
|
||||
|
||||
$I->submitForm('#login-form', [
|
||||
'LoginForm[username]' => 'admin',
|
||||
'LoginForm[password]' => 'admin',
|
||||
]);
|
||||
$I->amGoingTo('try to login with correct credentials');
|
||||
$loginPage->login('admin', 'admin');
|
||||
$I->expectTo('see user info');
|
||||
$I->see('Logout (admin)');
|
||||
|
@ -27,7 +27,7 @@ use Codeception\Module\Yii2;
|
||||
|
||||
class TestGuy extends \Codeception\AbstractGuy
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -49,7 +49,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -79,7 +79,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -106,7 +106,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -133,7 +133,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -161,7 +161,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -220,7 +220,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -281,7 +281,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -336,7 +336,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -355,7 +355,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -412,7 +412,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -439,13 +439,32 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
* ----------------------------------------------
|
||||
*
|
||||
* Authenticates user for HTTP_AUTH
|
||||
*
|
||||
* @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.
|
||||
* Documentation taken from corresponding module.
|
||||
* ----------------------------------------------
|
||||
*
|
||||
* Authenticates user for HTTP_AUTH
|
||||
*
|
||||
* @param $username
|
||||
* @param $password
|
||||
@ -461,7 +480,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -494,7 +513,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -540,7 +559,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -605,7 +624,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -670,7 +689,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -733,7 +752,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -794,7 +813,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -853,7 +872,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -906,7 +925,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -963,7 +982,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1020,7 +1039,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1075,7 +1094,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1130,7 +1149,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1161,7 +1180,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1224,7 +1243,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1285,7 +1304,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1354,7 +1373,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1421,7 +1440,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1477,16 +1496,16 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
* ----------------------------------------------
|
||||
*
|
||||
* Fills a text field or textarea with value.
|
||||
*
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
*
|
||||
* ``` php
|
||||
* <?php
|
||||
* $I->fillField("//input[@type='text']", "Hello World!");
|
||||
@ -1507,7 +1526,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1547,7 +1566,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1577,7 +1596,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1606,7 +1625,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1637,7 +1656,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1662,7 +1681,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1698,7 +1717,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1731,7 +1750,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1764,7 +1783,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1817,7 +1836,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1826,7 +1845,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
* Checks if element does not exist (or is visible) on a page, matching it by CSS or XPath
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
*
|
||||
* ``` php
|
||||
* <?php
|
||||
* $I->dontSeeElement('.error');
|
||||
@ -1854,7 +1873,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
* Checks if element does not exist (or is visible) on a page, matching it by CSS or XPath
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
*
|
||||
* ``` php
|
||||
* <?php
|
||||
* $I->dontSeeElement('.error');
|
||||
@ -1874,7 +1893,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1931,7 +1950,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -1988,7 +2007,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -2025,7 +2044,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -2068,7 +2087,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
@ -2123,7 +2142,7 @@ class TestGuy extends \Codeception\AbstractGuy
|
||||
return new Maybe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This method is generated.
|
||||
* Documentation taken from corresponding module.
|
||||
|
@ -1,2 +1,10 @@
|
||||
<?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,
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
@ -25,6 +25,23 @@ use Codeception\Module\CodeHelper;
|
||||
|
||||
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
|
||||
// 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