Merge PR #1393 branch 'yii2-basic-codeception' of https://github.com/Ragazzo/yii2 into Ragazzo-yii2-basic-codeception
* 'yii2-basic-codeception' of https://github.com/Ragazzo/yii2: small typo fix added readme, changelog, license and composer files. added new extension yii2-codeception, modified composer settings modified tests according yii2-codeception extension added testcase for unit tests, bootstrap files improved, tests inherited from base testcase configs fixed and improved tests modified, bootstrap added colors added new entry points for application codeception configs, web config modifed for db-settings Conflicts: composer.json
This commit is contained in:
commit
60bdb6b7cf
@ -8,6 +8,7 @@ settings:
|
|||||||
suite_class: \PHPUnit_Framework_TestSuite
|
suite_class: \PHPUnit_Framework_TestSuite
|
||||||
memory_limit: 1024M
|
memory_limit: 1024M
|
||||||
log: true
|
log: true
|
||||||
|
colors: true
|
||||||
modules:
|
modules:
|
||||||
config:
|
config:
|
||||||
Db:
|
Db:
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
"yiisoft/yii2": "*",
|
"yiisoft/yii2": "*",
|
||||||
"yiisoft/yii2-swiftmailer": "*",
|
"yiisoft/yii2-swiftmailer": "*",
|
||||||
"yiisoft/yii2-bootstrap": "*",
|
"yiisoft/yii2-bootstrap": "*",
|
||||||
|
"yiisoft/yii2-codeception": "*",
|
||||||
"yiisoft/yii2-debug": "*",
|
"yiisoft/yii2-debug": "*",
|
||||||
"yiisoft/yii2-gii": "*"
|
"yiisoft/yii2-gii": "*"
|
||||||
},
|
},
|
||||||
|
9
config/codeception/acceptance.php
Normal file
9
config/codeception/acceptance.php
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'components' => [
|
||||||
|
'db' => [
|
||||||
|
'dsn' => 'mysql:host=localhost;dbname=yii2basic_acceptance',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
9
config/codeception/functional.php
Normal file
9
config/codeception/functional.php
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'components' => [
|
||||||
|
'db' => [
|
||||||
|
'dsn' => 'mysql:host=localhost;dbname=yii2basic_functional',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
13
config/codeception/unit.php
Normal file
13
config/codeception/unit.php
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'components' => [
|
||||||
|
'fixture' => [
|
||||||
|
'class' => 'yii\test\DbFixtureManager',
|
||||||
|
'basePath' => '@app/tests/unit/fixtures',
|
||||||
|
],
|
||||||
|
'db' => [
|
||||||
|
'dsn' => 'mysql:host=localhost;dbname=yii2basic_unit',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
@ -1,5 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
Yii::setAlias('tests', realpath(__DIR__ . '/../tests'));
|
||||||
|
|
||||||
$config = require(__DIR__ . '/web.php');
|
$config = require(__DIR__ . '/web.php');
|
||||||
|
|
||||||
// ... customize $config for the "test" environment here...
|
// ... customize $config for the "test" environment here...
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
Yii::setAlias('tests', realpath(__DIR__ . '/../tests'));
|
||||||
|
|
||||||
$params = require(__DIR__ . '/params.php');
|
$params = require(__DIR__ . '/params.php');
|
||||||
|
|
||||||
$config = [
|
$config = [
|
||||||
'id' => 'basic',
|
'id' => 'basic',
|
||||||
'basePath' => dirname(__DIR__),
|
'basePath' => dirname(__DIR__),
|
||||||
@ -26,6 +30,13 @@ $config = [
|
|||||||
],
|
],
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
'db' => [
|
||||||
|
'class' => 'yii\db\Connection',
|
||||||
|
'dsn' => 'mysql:host=localhost;dbname=yii2basic',
|
||||||
|
'username' => 'root',
|
||||||
|
'password' => '',
|
||||||
|
'charset' => 'utf8',
|
||||||
|
],
|
||||||
],
|
],
|
||||||
'params' => $params,
|
'params' => $params,
|
||||||
];
|
];
|
||||||
|
3
tests/_bootstrap.php
Normal file
3
tests/_bootstrap.php
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require_once(__DIR__.'/yii_bootstrap.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 \yii\codeception\BasePage
|
||||||
|
{
|
||||||
|
|
||||||
|
public static $URL = '?r=site/about';
|
||||||
|
|
||||||
|
}
|
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 \yii\codeception\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 \yii\codeception\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,8 @@
|
|||||||
<?php
|
<?php
|
||||||
// Here you can initialize variables that will for your tests
|
|
||||||
|
$config = require(__DIR__.'/../yii_bootstrap.php');
|
||||||
|
|
||||||
|
return yii\helpers\ArrayHelper::merge(
|
||||||
|
$config,
|
||||||
|
require(__DIR__ . '/../../config/codeception/unit.php')
|
||||||
|
);
|
||||||
|
8
tests/unit/models/ContactFormTest.php
Normal file
8
tests/unit/models/ContactFormTest.php
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace tests\unit\models;
|
||||||
|
|
||||||
|
class ContactFormTest extends \yii\codeception\TestCase
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
8
tests/unit/models/LoginFormTest.php
Normal file
8
tests/unit/models/LoginFormTest.php
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace tests\unit\models;
|
||||||
|
|
||||||
|
class LoginFormTest extends \yii\codeception\TestCase
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
25
tests/unit/models/UserTest.php
Normal file
25
tests/unit/models/UserTest.php
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace tests\unit\models;
|
||||||
|
|
||||||
|
#use yii\test\DbTestTrait;
|
||||||
|
|
||||||
|
class UserTest extends \yii\codeception\TestCase
|
||||||
|
{
|
||||||
|
|
||||||
|
use DbTestTrait;
|
||||||
|
|
||||||
|
protected function setUp()
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
* you can load fixtures in this way
|
||||||
|
*
|
||||||
|
parent::setUp();
|
||||||
|
$this->loadFixtures([
|
||||||
|
'tbl_user',
|
||||||
|
]);
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
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');
|
13
web/index-debug.php
Normal file
13
web/index-debug.php
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
// comment out the following two lines when deployed to production
|
||||||
|
defined('YII_DEBUG') or define('YII_DEBUG', true);
|
||||||
|
defined('YII_ENV') or define('YII_ENV', 'dev');
|
||||||
|
|
||||||
|
require(__DIR__ . '/../vendor/autoload.php');
|
||||||
|
require(__DIR__ . '/../vendor/yiisoft/yii2/yii/Yii.php');
|
||||||
|
|
||||||
|
$config = require(__DIR__ . '/../config/web.php');
|
||||||
|
|
||||||
|
$application = new yii\web\Application($config);
|
||||||
|
$application->run();
|
16
web/index-test-accept.php
Normal file
16
web/index-test-accept.php
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?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');
|
||||||
|
|
||||||
|
$config = yii\helpers\ArrayHelper::merge(
|
||||||
|
require(__DIR__ . '/../config/web-test.php'),
|
||||||
|
require(__DIR__ . '/../config/codeception/acceptance.php')
|
||||||
|
);
|
||||||
|
|
||||||
|
$application = new yii\web\Application($config);
|
||||||
|
$application->run();
|
16
web/index-test-func.php
Normal file
16
web/index-test-func.php
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?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');
|
||||||
|
|
||||||
|
$config = yii\helpers\ArrayHelper::merge(
|
||||||
|
require(__DIR__ . '/../config/web-test.php'),
|
||||||
|
require(__DIR__ . '/../config/codeception/functional.php')
|
||||||
|
);
|
||||||
|
|
||||||
|
$config['class'] = 'yii\web\Application';
|
||||||
|
return $config;
|
@ -1,24 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
if (!in_array(@$_SERVER['REMOTE_ADDR'], ['127.0.0.1', '::1'])) {
|
|
||||||
die('You are not allowed to access this file.');
|
|
||||||
}
|
|
||||||
|
|
||||||
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');
|
|
||||||
|
|
||||||
$config = require(__DIR__ . '/../config/web-test.php');
|
|
||||||
|
|
||||||
if (isset($this)) {
|
|
||||||
// run in functional tests
|
|
||||||
$config['class'] = 'yii\web\Application';
|
|
||||||
return $config;
|
|
||||||
} else {
|
|
||||||
// run in acceptance tests
|
|
||||||
$application = new yii\web\Application($config);
|
|
||||||
$application->run();
|
|
||||||
}
|
|
@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
// comment out the following two lines when deployed to production
|
// comment out the following two lines when deployed to production
|
||||||
defined('YII_DEBUG') or define('YII_DEBUG', true);
|
defined('YII_DEBUG') or define('YII_DEBUG', false);
|
||||||
defined('YII_ENV') or define('YII_ENV', 'dev');
|
defined('YII_ENV') or define('YII_ENV', 'prod');
|
||||||
|
|
||||||
require(__DIR__ . '/../vendor/autoload.php');
|
require(__DIR__ . '/../vendor/autoload.php');
|
||||||
require(__DIR__ . '/../vendor/yiisoft/yii2/yii/Yii.php');
|
require(__DIR__ . '/../vendor/yiisoft/yii2/yii/Yii.php');
|
||||||
|
Loading…
Reference in New Issue
Block a user