Tobias Munk
11 years ago
303 changed files with 5233 additions and 2160 deletions
@ -0,0 +1,6 @@
|
||||
imports: |
||||
- php |
||||
|
||||
tools: |
||||
external_code_coverage: |
||||
timeout: 1800 # Timeout in seconds. |
@ -0,0 +1,18 @@
|
||||
paths: |
||||
tests: tests |
||||
log: tests/_log |
||||
data: tests/_data |
||||
helpers: tests/_helpers |
||||
settings: |
||||
bootstrap: _bootstrap.php |
||||
suite_class: \PHPUnit_Framework_TestSuite |
||||
colors: true |
||||
memory_limit: 1024M |
||||
log: true |
||||
modules: |
||||
config: |
||||
Db: |
||||
dsn: '' |
||||
user: '' |
||||
password: '' |
||||
dump: tests/_data/dump.sql |
@ -0,0 +1,23 @@
|
||||
<?php |
||||
|
||||
// the entry script URL (without host info) for functional and acceptance tests |
||||
// PLEASE ADJUST IT TO THE ACTUAL ENTRY SCRIPT URL |
||||
defined('TEST_ENTRY_URL') or define('TEST_ENTRY_URL', '/backend/web/index-test.php'); |
||||
|
||||
// the entry script file path for functional and acceptance tests |
||||
defined('TEST_ENTRY_FILE') or define('TEST_ENTRY_FILE', dirname(__DIR__) . '/web/index-test.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.php'); |
||||
|
||||
require(__DIR__ . '/../../common/config/aliases.php'); |
||||
|
||||
// set correct script paths |
||||
$_SERVER['SCRIPT_FILENAME'] = TEST_ENTRY_FILE; |
||||
$_SERVER['SCRIPT_NAME'] = TEST_ENTRY_URL; |
||||
$_SERVER['SERVER_NAME'] = 'localhost'; |
@ -0,0 +1,14 @@
|
||||
<?php |
||||
/** |
||||
* application configurations shared by all test types |
||||
*/ |
||||
return [ |
||||
'components' => [ |
||||
'mail' => [ |
||||
'useFileTransport' => true, |
||||
], |
||||
'urlManager' => [ |
||||
'showScriptName' => true, |
||||
], |
||||
], |
||||
]; |
@ -0,0 +1,19 @@
|
||||
<?php |
||||
/** |
||||
* Yii console bootstrap file. |
||||
* |
||||
* @link http://www.yiiframework.com/ |
||||
* @copyright Copyright (c) 2008 Yii Software LLC |
||||
* @license http://www.yiiframework.com/license/ |
||||
*/ |
||||
|
||||
// fcgi doesn't have STDIN and STDOUT defined by default |
||||
defined('STDIN') or define('STDIN', fopen('php://stdin', 'r')); |
||||
defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w')); |
||||
|
||||
require_once(__DIR__ . '/../../vendor/autoload.php'); |
||||
require_once(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php'); |
||||
require_once(__DIR__ . '/../../common/config/aliases.php'); |
||||
|
||||
defined('YII_DEBUG') or define('YII_DEBUG', true); |
||||
defined('YII_ENV') or define('YII_ENV', 'test'); |
@ -0,0 +1 @@
|
||||
/* Replace this file with actual dump of your database */ |
@ -0,0 +1,8 @@
|
||||
<?php |
||||
namespace Codeception\Module; |
||||
|
||||
// here you can define custom functions for CodeGuy |
||||
|
||||
class CodeHelper extends \Codeception\Module |
||||
{ |
||||
} |
@ -0,0 +1,8 @@
|
||||
<?php |
||||
namespace Codeception\Module; |
||||
|
||||
// here you can define custom functions for TestGuy |
||||
|
||||
class TestHelper extends \Codeception\Module |
||||
{ |
||||
} |
@ -0,0 +1,8 @@
|
||||
<?php |
||||
namespace Codeception\Module; |
||||
|
||||
// here you can define custom functions for WebGuy |
||||
|
||||
class WebHelper extends \Codeception\Module |
||||
{ |
||||
} |
@ -0,0 +1,2 @@
|
||||
* |
||||
!.gitignore |
@ -0,0 +1,28 @@
|
||||
# Codeception Test Suite Configuration |
||||
|
||||
# suite for acceptance tests. |
||||
# perform tests in browser using the Selenium-like tools. |
||||
# powered by Mink (http://mink.behat.org). |
||||
# (tip: that's what your customer will see). |
||||
# (tip: test your ajax and javascript by one of Mink drivers). |
||||
|
||||
# RUN `build` COMMAND AFTER ADDING/REMOVING MODULES. |
||||
|
||||
class_name: WebGuy |
||||
modules: |
||||
enabled: |
||||
- WebHelper |
||||
- PhpBrowser |
||||
- common\tests\_helpers\FixtureHelper |
||||
# you can use WebDriver instead of PhpBrowser to test javascript and ajax. |
||||
# This will require you to install selenium. See http://codeception.com/docs/04-AcceptanceTests#Selenium |
||||
# "restart" option is used by the WebDriver to start each time per test-file new session and cookies, |
||||
# it is useful if you want to login in your app in each test. |
||||
# - WebDriver |
||||
config: |
||||
PhpBrowser: |
||||
url: 'http://localhost:8080' |
||||
# WebDriver: |
||||
# url: 'http://localhost' |
||||
# browser: firefox |
||||
# restart: true |
@ -0,0 +1,30 @@
|
||||
<?php |
||||
|
||||
use common\tests\_pages\LoginPage; |
||||
|
||||
$I = new WebGuy($scenario); |
||||
$I->wantTo('ensure login page works'); |
||||
|
||||
$loginPage = LoginPage::openBy($I); |
||||
|
||||
$I->amGoingTo('submit login form with no data'); |
||||
$loginPage->login('', ''); |
||||
$I->expectTo('see validations errors'); |
||||
$I->see('Username cannot be blank.'); |
||||
$I->see('Password cannot be blank.'); |
||||
|
||||
$I->amGoingTo('try to login with wrong credentials'); |
||||
$I->expectTo('see validations errors'); |
||||
$loginPage->login('admin', 'wrong'); |
||||
$I->expectTo('see validations errors'); |
||||
$I->see('Incorrect username or password.'); |
||||
|
||||
$I->amGoingTo('try to login with correct credentials'); |
||||
$loginPage->login('erau', 'password_0'); |
||||
$I->expectTo('see that user is logged'); |
||||
$I->see('Logout (erau)'); |
||||
$I->dontSee('Login'); |
||||
$I->dontSee('Signup'); |
||||
$I->click('Logout (erau)'); |
||||
$I->dontSee('Logout (erau)'); |
||||
$I->see('Login'); |
@ -0,0 +1,3 @@
|
||||
<?php |
||||
|
||||
new yii\web\Application(require(__DIR__ . '/_config.php')); |
@ -0,0 +1,16 @@
|
||||
<?php |
||||
|
||||
return yii\helpers\ArrayHelper::merge( |
||||
require(__DIR__ . '/../../config/main.php'), |
||||
require(__DIR__ . '/../../config/main-local.php'), |
||||
require(__DIR__ . '/../../../common/config/main.php'), |
||||
require(__DIR__ . '/../../../common/config/main-local.php'), |
||||
require(__DIR__ . '/../_config.php'), |
||||
[ |
||||
'components' => [ |
||||
'db' => [ |
||||
'dsn' => 'mysql:host=localhost;dbname=yii2_advanced_acceptance', |
||||
], |
||||
], |
||||
] |
||||
); |
@ -0,0 +1,15 @@
|
||||
<?php |
||||
|
||||
return yii\helpers\ArrayHelper::merge( |
||||
require(__DIR__ . '/../../../common/config/main.php'), |
||||
require(__DIR__ . '/../../../common/config/main-local.php'), |
||||
require(__DIR__ . '/../../../console/config/main.php'), |
||||
require(__DIR__ . '/../../../console/config/main-local.php'), |
||||
[ |
||||
'components' => [ |
||||
'db' => [ |
||||
'dsn' => 'mysql:host=localhost;dbname=yii2_advanced_acceptance', |
||||
], |
||||
], |
||||
] |
||||
); |
@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env php |
||||
<?php |
||||
/** |
||||
* Yii console bootstrap file. |
||||
* |
||||
* @link http://www.yiiframework.com/ |
||||
* @copyright Copyright (c) 2008 Yii Software LLC |
||||
* @license http://www.yiiframework.com/license/ |
||||
*/ |
||||
|
||||
// fcgi doesn't have STDIN and STDOUT defined by default |
||||
defined('STDIN') or define('STDIN', fopen('php://stdin', 'r')); |
||||
defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w')); |
||||
|
||||
require_once(__DIR__ . '/../_console.php'); |
||||
|
||||
$config = require(__DIR__ . '/_console.php'); |
||||
|
||||
$application = new yii\console\Application($config); |
||||
$exitCode = $application->run(); |
||||
exit($exitCode); |
@ -0,0 +1,20 @@
|
||||
@echo off |
||||
|
||||
rem ------------------------------------------------------------- |
||||
rem Yii command line bootstrap script for Windows. |
||||
rem |
||||
rem @author Qiang Xue <qiang.xue@gmail.com> |
||||
rem @link http://www.yiiframework.com/ |
||||
rem @copyright Copyright © 2012 Yii Software LLC |
||||
rem @license http://www.yiiframework.com/license/ |
||||
rem ------------------------------------------------------------- |
||||
|
||||
@setlocal |
||||
|
||||
set YII_PATH=%~dp0 |
||||
|
||||
if "%PHP_COMMAND%" == "" set PHP_COMMAND=php.exe |
||||
|
||||
"%PHP_COMMAND%" "%YII_PATH%yii" %* |
||||
|
||||
@endlocal |
@ -0,0 +1,18 @@
|
||||
# Codeception Test Suite Configuration |
||||
|
||||
# suite for functional (integration) tests. |
||||
# emulate web requests and make application process them. |
||||
# (tip: better to use with frameworks). |
||||
|
||||
# RUN `build` COMMAND AFTER ADDING/REMOVING MODULES. |
||||
#basic/web/index.php |
||||
class_name: TestGuy |
||||
modules: |
||||
enabled: |
||||
- Filesystem |
||||
- TestHelper |
||||
- Yii2 |
||||
- common\tests\_helpers\FixtureHelper |
||||
config: |
||||
Yii2: |
||||
configFile: 'tests/functional/_config.php' |
@ -0,0 +1,30 @@
|
||||
<?php |
||||
|
||||
use common\tests\_pages\LoginPage; |
||||
|
||||
$I = new TestGuy($scenario); |
||||
$I->wantTo('ensure login page works'); |
||||
|
||||
$loginPage = LoginPage::openBy($I); |
||||
|
||||
$I->amGoingTo('submit login form with no data'); |
||||
$loginPage->login('', ''); |
||||
$I->expectTo('see validations errors'); |
||||
$I->see('Username cannot be blank.'); |
||||
$I->see('Password cannot be blank.'); |
||||
|
||||
$I->amGoingTo('try to login with wrong credentials'); |
||||
$I->expectTo('see validations errors'); |
||||
$loginPage->login('admin', 'wrong'); |
||||
$I->expectTo('see validations errors'); |
||||
$I->see('Incorrect username or password.'); |
||||
|
||||
$I->amGoingTo('try to login with correct credentials'); |
||||
$loginPage->login('erau', 'password_0'); |
||||
$I->expectTo('see that user is logged'); |
||||
$I->see('Logout (erau)'); |
||||
$I->dontSee('Login'); |
||||
$I->dontSee('Signup'); |
||||
$I->click('Logout (erau)'); |
||||
$I->dontSee('Logout (erau)'); |
||||
$I->see('Login'); |
@ -0,0 +1,3 @@
|
||||
<?php |
||||
|
||||
new yii\web\Application(require(__DIR__ . '/_config.php')); |
@ -0,0 +1,20 @@
|
||||
<?php |
||||
|
||||
// set correct script paths |
||||
$_SERVER['SCRIPT_FILENAME'] = TEST_ENTRY_FILE; |
||||
$_SERVER['SCRIPT_NAME'] = TEST_ENTRY_URL; |
||||
|
||||
return yii\helpers\ArrayHelper::merge( |
||||
require(__DIR__ . '/../../config/main.php'), |
||||
require(__DIR__ . '/../../config/main-local.php'), |
||||
require(__DIR__ . '/../../../common/config/main.php'), |
||||
require(__DIR__ . '/../../../common/config/main-local.php'), |
||||
require(__DIR__ . '/../_config.php'), |
||||
[ |
||||
'components' => [ |
||||
'db' => [ |
||||
'dsn' => 'mysql:host=localhost;dbname=yii2_advanced_functional', |
||||
], |
||||
], |
||||
] |
||||
); |
@ -0,0 +1,15 @@
|
||||
<?php |
||||
|
||||
return yii\helpers\ArrayHelper::merge( |
||||
require(__DIR__ . '/../../../common/config/main.php'), |
||||
require(__DIR__ . '/../../../common/config/main-local.php'), |
||||
require(__DIR__ . '/../../../console/config/main.php'), |
||||
require(__DIR__ . '/../../../console/config/main-local.php'), |
||||
[ |
||||
'components' => [ |
||||
'db' => [ |
||||
'dsn' => 'mysql:host=localhost;dbname=yii2_advanced_functional', |
||||
], |
||||
], |
||||
] |
||||
); |
@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env php |
||||
<?php |
||||
/** |
||||
* Yii console bootstrap file. |
||||
* |
||||
* @link http://www.yiiframework.com/ |
||||
* @copyright Copyright (c) 2008 Yii Software LLC |
||||
* @license http://www.yiiframework.com/license/ |
||||
*/ |
||||
|
||||
// fcgi doesn't have STDIN and STDOUT defined by default |
||||
defined('STDIN') or define('STDIN', fopen('php://stdin', 'r')); |
||||
defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w')); |
||||
|
||||
require_once(__DIR__ . '/../_console.php'); |
||||
|
||||
$config = require(__DIR__ . '/_console.php'); |
||||
|
||||
$application = new yii\console\Application($config); |
||||
$exitCode = $application->run(); |
||||
exit($exitCode); |
@ -0,0 +1,20 @@
|
||||
@echo off |
||||
|
||||
rem ------------------------------------------------------------- |
||||
rem Yii command line bootstrap script for Windows. |
||||
rem |
||||
rem @author Qiang Xue <qiang.xue@gmail.com> |
||||
rem @link http://www.yiiframework.com/ |
||||
rem @copyright Copyright © 2012 Yii Software LLC |
||||
rem @license http://www.yiiframework.com/license/ |
||||
rem ------------------------------------------------------------- |
||||
|
||||
@setlocal |
||||
|
||||
set YII_PATH=%~dp0 |
||||
|
||||
if "%PHP_COMMAND%" == "" set PHP_COMMAND=php.exe |
||||
|
||||
"%PHP_COMMAND%" "%YII_PATH%yii" %* |
||||
|
||||
@endlocal |
@ -0,0 +1,8 @@
|
||||
# Codeception Test Suite Configuration |
||||
|
||||
# suite for unit (internal) tests. |
||||
# RUN `build` COMMAND AFTER ADDING/REMOVING MODULES. |
||||
|
||||
class_name: CodeGuy |
||||
modules: |
||||
enabled: [CodeHelper] |
@ -0,0 +1,8 @@
|
||||
<?php |
||||
|
||||
namespace backend\tests\unit; |
||||
|
||||
class DbTestCase extends \yii\codeception\DbTestCase |
||||
{ |
||||
public $appConfig = '@backend/tests/unit/_config.php'; |
||||
} |
@ -0,0 +1,8 @@
|
||||
<?php |
||||
|
||||
namespace backend\tests\unit; |
||||
|
||||
class TestCase extends \yii\codeception\TestCase |
||||
{ |
||||
public $appConfig = '@backend/tests/unit/_config.php'; |
||||
} |
@ -0,0 +1,2 @@
|
||||
<?php |
||||
// Here you can initialize variables that will for your tests |
@ -0,0 +1,16 @@
|
||||
<?php |
||||
|
||||
return yii\helpers\ArrayHelper::merge( |
||||
require(__DIR__ . '/../../../common/config/main.php'), |
||||
require(__DIR__ . '/../../../common/config/main-local.php'), |
||||
require(__DIR__ . '/../../config/main.php'), |
||||
require(__DIR__ . '/../../config/main-local.php'), |
||||
require(__DIR__ . '/../_config.php'), |
||||
[ |
||||
'components' => [ |
||||
'db' => [ |
||||
'dsn' => 'mysql:host=localhost;dbname=yii2_advanced_unit', |
||||
], |
||||
], |
||||
] |
||||
); |
@ -0,0 +1,15 @@
|
||||
<?php |
||||
|
||||
return yii\helpers\ArrayHelper::merge( |
||||
require(__DIR__ . '/../../../common/config/main.php'), |
||||
require(__DIR__ . '/../../../common/config/main-local.php'), |
||||
require(__DIR__ . '/../../../console/config/main.php'), |
||||
require(__DIR__ . '/../../../console/config/main-local.php'), |
||||
[ |
||||
'components' => [ |
||||
'db' => [ |
||||
'dsn' => 'mysql:host=localhost;dbname=yii2_advanced_unit', |
||||
], |
||||
], |
||||
] |
||||
); |
@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env php |
||||
<?php |
||||
/** |
||||
* Yii console bootstrap file. |
||||
* |
||||
* @link http://www.yiiframework.com/ |
||||
* @copyright Copyright (c) 2008 Yii Software LLC |
||||
* @license http://www.yiiframework.com/license/ |
||||
*/ |
||||
|
||||
// fcgi doesn't have STDIN and STDOUT defined by default |
||||
defined('STDIN') or define('STDIN', fopen('php://stdin', 'r')); |
||||
defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w')); |
||||
|
||||
require_once(__DIR__ . '/../_console.php'); |
||||
|
||||
$config = require(__DIR__ . '/_console.php'); |
||||
|
||||
$application = new yii\console\Application($config); |
||||
$exitCode = $application->run(); |
||||
exit($exitCode); |
@ -0,0 +1,20 @@
|
||||
@echo off |
||||
|
||||
rem ------------------------------------------------------------- |
||||
rem Yii command line bootstrap script for Windows. |
||||
rem |
||||
rem @author Qiang Xue <qiang.xue@gmail.com> |
||||
rem @link http://www.yiiframework.com/ |
||||
rem @copyright Copyright © 2012 Yii Software LLC |
||||
rem @license http://www.yiiframework.com/license/ |
||||
rem ------------------------------------------------------------- |
||||
|
||||
@setlocal |
||||
|
||||
set YII_PATH=%~dp0 |
||||
|
||||
if "%PHP_COMMAND%" == "" set PHP_COMMAND=php.exe |
||||
|
||||
"%PHP_COMMAND%" "%YII_PATH%yii" %* |
||||
|
||||
@endlocal |
@ -0,0 +1,18 @@
|
||||
paths: |
||||
tests: tests |
||||
log: tests/_log |
||||
data: tests/_data |
||||
helpers: tests/_helpers |
||||
settings: |
||||
bootstrap: _bootstrap.php |
||||
suite_class: \PHPUnit_Framework_TestSuite |
||||
colors: true |
||||
memory_limit: 1024M |
||||
log: true |
||||
modules: |
||||
config: |
||||
Db: |
||||
dsn: '' |
||||
user: '' |
||||
password: '' |
||||
dump: tests/_data/dump.sql |
@ -0,0 +1,23 @@
|
||||
<?php |
||||
|
||||
// the entry script URL (without host info) for functional and acceptance tests |
||||
// PLEASE ADJUST IT TO THE ACTUAL ENTRY SCRIPT URL |
||||
defined('TEST_ENTRY_URL') or define('TEST_ENTRY_URL', '/index-test.php'); |
||||
|
||||
// the entry script file path for functional and acceptance tests |
||||
defined('TEST_ENTRY_FILE') or define('TEST_ENTRY_FILE', dirname(__DIR__) . '/index-test.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.php'); |
||||
|
||||
require(__DIR__ . '/../../common/config/aliases.php'); |
||||
|
||||
// set correct script paths |
||||
$_SERVER['SCRIPT_FILENAME'] = TEST_ENTRY_FILE; |
||||
$_SERVER['SCRIPT_NAME'] = TEST_ENTRY_URL; |
||||
$_SERVER['SERVER_NAME'] = 'localhost'; |
@ -0,0 +1,14 @@
|
||||
<?php |
||||
/** |
||||
* application configurations shared by all test types |
||||
*/ |
||||
return [ |
||||
'components' => [ |
||||
'mail' => [ |
||||
'useFileTransport' => true, |
||||
], |
||||
'urlManager' => [ |
||||
'showScriptName' => true, |
||||
], |
||||
], |
||||
]; |
@ -0,0 +1,19 @@
|
||||
<?php |
||||
/** |
||||
* Yii console bootstrap file. |
||||
* |
||||
* @link http://www.yiiframework.com/ |
||||
* @copyright Copyright (c) 2008 Yii Software LLC |
||||
* @license http://www.yiiframework.com/license/ |
||||
*/ |
||||
|
||||
// fcgi doesn't have STDIN and STDOUT defined by default |
||||
defined('STDIN') or define('STDIN', fopen('php://stdin', 'r')); |
||||
defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w')); |
||||
|
||||
require_once(__DIR__ . '/../../vendor/autoload.php'); |
||||
require_once(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php'); |
||||
require_once(__DIR__ . '/../../common/config/aliases.php'); |
||||
|
||||
defined('YII_DEBUG') or define('YII_DEBUG', true); |
||||
defined('YII_ENV') or define('YII_ENV', 'test'); |
@ -0,0 +1 @@
|
||||
/* Replace this file with actual dump of your database */ |
@ -0,0 +1,8 @@
|
||||
<?php |
||||
namespace Codeception\Module; |
||||
|
||||
// here you can define custom functions for CodeGuy |
||||
|
||||
class CodeHelper extends \Codeception\Module |
||||
{ |
||||
} |
@ -0,0 +1,58 @@
|
||||
<?php |
||||
|
||||
namespace common\tests\_helpers; |
||||
|
||||
use Codeception\Module; |
||||
use yii\test\FixtureTrait; |
||||
use common\tests\fixtures\UserFixture; |
||||
|
||||
/** |
||||
* This helper is used to populate database with needed fixtures before any tests should be run. |
||||
* For example - populate database with demo login user that should be used in acceptance and functional tests. |
||||
* All fixtures will be loaded before suite will be starded and unloaded after it. |
||||
*/ |
||||
class FixtureHelper extends Module |
||||
{ |
||||
|
||||
/** |
||||
* Redeclare visibility because codeception includes all public methods that not starts from "_" |
||||
* and not excluded by module settings, in guy class. |
||||
*/ |
||||
use FixtureTrait { |
||||
loadFixtures as protected; |
||||
fixtures as protected; |
||||
globalFixtures as protected; |
||||
unloadFixtures as protected; |
||||
getFixtures as protected; |
||||
getFixture as protected; |
||||
} |
||||
|
||||
/** |
||||
* Method called before any suite tests run. Loads User fixture login user |
||||
* to use in acceptance and functional tests. |
||||
* @param array $settings |
||||
*/ |
||||
public function _beforeSuite($settings = array()) |
||||
{ |
||||
$this->loadFixtures(); |
||||
} |
||||
|
||||
/** |
||||
* Method is called after all suite tests run |
||||
*/ |
||||
public function _afterSuite() |
||||
{ |
||||
$this->unloadFixtures(); |
||||
} |
||||
|
||||
protected function fixtures() |
||||
{ |
||||
return [ |
||||
'user' => [ |
||||
'class' => UserFixture::className(), |
||||
'dataFile' => '@common/tests/fixtures/data/init_login.php', |
||||
], |
||||
]; |
||||
} |
||||
|
||||
} |
@ -0,0 +1,8 @@
|
||||
<?php |
||||
namespace Codeception\Module; |
||||
|
||||
// here you can define custom functions for TestGuy |
||||
|
||||
class TestHelper extends \Codeception\Module |
||||
{ |
||||
} |
@ -0,0 +1,8 @@
|
||||
<?php |
||||
namespace Codeception\Module; |
||||
|
||||
// here you can define custom functions for WebGuy |
||||
|
||||
class WebHelper extends \Codeception\Module |
||||
{ |
||||
} |
@ -0,0 +1,2 @@
|
||||
* |
||||
!.gitignore |
@ -0,0 +1,22 @@
|
||||
<?php |
||||
|
||||
namespace common\tests\_pages; |
||||
|
||||
use yii\codeception\BasePage; |
||||
|
||||
class LoginPage extends BasePage |
||||
{ |
||||
public $route = 'site/login'; |
||||
|
||||
/** |
||||
* @param string $username |
||||
* @param string $password |
||||
*/ |
||||
public function login($username, $password) |
||||
{ |
||||
$this->guy->fillField('input[name="LoginForm[username]"]', $username); |
||||
$this->guy->fillField('input[name="LoginForm[password]"]', $password); |
||||
$this->guy->click('login-button'); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,10 @@
|
||||
<?php |
||||
|
||||
namespace common\tests\fixtures; |
||||
|
||||
use yii\test\ActiveFixture; |
||||
|
||||
class UserFixture extends ActiveFixture |
||||
{ |
||||
public $modelClass = 'common\models\User'; |
||||
} |
@ -0,0 +1,14 @@
|
||||
<?php |
||||
|
||||
return [ |
||||
[ |
||||
'username' => 'erau', |
||||
'auth_key' => 'tUu1qHcde0diwUol3xeI-18MuHkkprQI', |
||||
// password_0 |
||||
'password_hash' => '$2y$13$nJ1WDlBaGcbCdbNC5.5l4.sgy.OMEKCqtDQOdQ2OWpgiKRWYyzzne', |
||||
'password_reset_token' => 'RkD_Jw0_8HEedzLk7MM-ZKEFfYR7VbMr_1392559490', |
||||
'created_at' => '1392559490', |
||||
'updated_at' => '1392559490', |
||||
'email' => 'sfriesen@jenkins.info', |
||||
], |
||||
]; |
@ -0,0 +1,28 @@
|
||||
<?php |
||||
|
||||
use yii\helpers\Security; |
||||
|
||||
return [ |
||||
'username' => 'userName', |
||||
'auth_key' => function ($fixture, $faker, $index) { |
||||
$fixture['auth_key'] = Security::generateRandomKey(); |
||||
return $fixture; |
||||
}, |
||||
'password_hash' => function ($fixture, $faker, $index) { |
||||
$fixture['password_hash'] = Security::generatePasswordHash('password_' . $index); |
||||
return $fixture; |
||||
}, |
||||
'password_reset_token' => function ($fixture, $faker, $index) { |
||||
$fixture['password_reset_token'] = Security::generateRandomKey() . '_' . time(); |
||||
return $fixture; |
||||
}, |
||||
'created_at' => function ($fixture, $faker, $index) { |
||||
$fixture['created_at'] = time(); |
||||
return $fixture; |
||||
}, |
||||
'updated_at' => function ($fixture, $faker, $index) { |
||||
$fixture['updated_at'] = time(); |
||||
return $fixture; |
||||
}, |
||||
'email' => 'email', |
||||
]; |
@ -0,0 +1,9 @@
|
||||
# Codeception Test Suite Configuration |
||||
|
||||
# suite for unit (internal) tests. |
||||
# RUN `build` COMMAND AFTER ADDING/REMOVING MODULES. |
||||
|
||||
class_name: CodeGuy |
||||
modules: |
||||
enabled: |
||||
- CodeHelper |
@ -0,0 +1,8 @@
|
||||
<?php |
||||
|
||||
namespace common\tests\unit; |
||||
|
||||
class DbTestCase extends \yii\codeception\DbTestCase |
||||
{ |
||||
public $appConfig = '@frontend/tests/unit/_config.php'; |
||||
} |
@ -0,0 +1,8 @@
|
||||
<?php |
||||
|
||||
namespace common\tests\unit; |
||||
|
||||
class TestCase extends \yii\codeception\TestCase |
||||
{ |
||||
public $appConfig = '@common/tests/unit/_config.php'; |
||||
} |
@ -0,0 +1,2 @@
|
||||
<?php |
||||
// Here you can initialize variables that will for your tests |
@ -0,0 +1,15 @@
|
||||
<?php |
||||
|
||||
return yii\helpers\ArrayHelper::merge( |
||||
require(__DIR__ . '/../../config/main.php'), |
||||
require(__DIR__ . '/../../config/main-local.php'), |
||||
require(__DIR__ . '/../_config.php'), |
||||
[ |
||||
'components' => [ |
||||
'db' => [ |
||||
'dsn' => 'mysql:host=localhost;dbname=yii2_advanced_unit', |
||||
], |
||||
'id' => 'app-common', |
||||
], |
||||
] |
||||
); |
@ -0,0 +1,15 @@
|
||||
<?php |
||||
|
||||
return yii\helpers\ArrayHelper::merge( |
||||
require(__DIR__ . '/../../../console/config/main.php'), |
||||
require(__DIR__ . '/../../../console/config/main-local.php'), |
||||
require(__DIR__ . '/../../config/main.php'), |
||||
require(__DIR__ . '/../../config/main-local.php'), |
||||
[ |
||||
'components' => [ |
||||
'db' => [ |
||||
'dsn' => 'mysql:host=localhost;dbname=yii2_advanced_unit', |
||||
], |
||||
], |
||||
] |
||||
); |
@ -0,0 +1,69 @@
|
||||
<?php |
||||
|
||||
namespace common\tests\unit\models; |
||||
|
||||
use Yii; |
||||
use frontend\tests\unit\TestCase; |
||||
use common\models\User; |
||||
use yii\helpers\Security; |
||||
|
||||
class LoginFormTest extends TestCase |
||||
{ |
||||
|
||||
use \Codeception\Specify; |
||||
|
||||
protected function tearDown() |
||||
{ |
||||
Yii::$app->user->logout(); |
||||
parent::tearDown(); |
||||
} |
||||
|
||||
public function testLoginNoUser() |
||||
{ |
||||
$model = $this->mockUser(null); |
||||
|
||||
$model->username = 'some_username'; |
||||
$model->password = 'some_password'; |
||||
|
||||
$this->specify('user should not be able to login, when there is no identity' , function () use ($model) { |
||||
expect('model should not login user', $model->login())->false(); |
||||
expect('user should not be logged in', Yii::$app->user->isGuest)->true(); |
||||
}); |
||||
} |
||||
|
||||
public function testLoginWrongPassword() |
||||
{ |
||||
$model = $this->mockUser(new User(['password_hash' => Security::generatePasswordHash('will-not-match')])); |
||||
|
||||
$model->username = 'demo'; |
||||
$model->password = 'wrong-password'; |
||||
|
||||
$this->specify('user should not be able to login with wrong password', function () use ($model) { |
||||
expect('model should not login user', $model->login())->false(); |
||||
expect('error message should be set', $model->errors)->hasKey('password'); |
||||
expect('user should not be logged in', Yii::$app->user->isGuest)->true(); |
||||
}); |
||||
} |
||||
|
||||
public function testLoginCorrect() |
||||
{ |
||||
$model = $this->mockUser(new User(['password_hash' => Security::generatePasswordHash('demo')])); |
||||
|
||||
$model->username = 'demo'; |
||||
$model->password = 'demo'; |
||||
|
||||
$this->specify('user should be able to login with correct credentials', function() use ($model) { |
||||
expect('model should login user', $model->login())->true(); |
||||
expect('error message should not be set', $model->errors)->hasntKey('password'); |
||||
expect('user should be logged in', Yii::$app->user->isGuest)->false(); |
||||
}); |
||||
} |
||||
|
||||
private function mockUser($user) |
||||
{ |
||||
$loginForm = $this->getMock('common\models\LoginForm',['getUser']); |
||||
$loginForm->expects($this->any())->method('getUser')->will($this->returnValue($user)); |
||||
return $loginForm; |
||||
} |
||||
|
||||
} |
@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env php |
||||
<?php |
||||
/** |
||||
* Yii console bootstrap file. |
||||
* |
||||
* @link http://www.yiiframework.com/ |
||||
* @copyright Copyright (c) 2008 Yii Software LLC |
||||
* @license http://www.yiiframework.com/license/ |
||||
*/ |
||||
|
||||
// fcgi doesn't have STDIN and STDOUT defined by default |
||||
defined('STDIN') or define('STDIN', fopen('php://stdin', 'r')); |
||||
defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w')); |
||||
|
||||
require_once(__DIR__ . '/../_console.php'); |
||||
|
||||
$config = require(__DIR__ . '/_console.php'); |
||||
|
||||
$application = new yii\console\Application($config); |
||||
$exitCode = $application->run(); |
||||
exit($exitCode); |
@ -0,0 +1,20 @@
|
||||
@echo off |
||||
|
||||
rem ------------------------------------------------------------- |
||||
rem Yii command line bootstrap script for Windows. |
||||
rem |
||||
rem @author Qiang Xue <qiang.xue@gmail.com> |
||||
rem @link http://www.yiiframework.com/ |
||||
rem @copyright Copyright © 2012 Yii Software LLC |
||||
rem @license http://www.yiiframework.com/license/ |
||||
rem ------------------------------------------------------------- |
||||
|
||||
@setlocal |
||||
|
||||
set YII_PATH=%~dp0 |
||||
|
||||
if "%PHP_COMMAND%" == "" set PHP_COMMAND=php.exe |
||||
|
||||
"%PHP_COMMAND%" "%YII_PATH%yii" %* |
||||
|
||||
@endlocal |
@ -0,0 +1,18 @@
|
||||
paths: |
||||
tests: tests |
||||
log: tests/_log |
||||
data: tests/_data |
||||
helpers: tests/_helpers |
||||
settings: |
||||
bootstrap: _bootstrap.php |
||||
suite_class: \PHPUnit_Framework_TestSuite |
||||
colors: true |
||||
memory_limit: 1024M |
||||
log: true |
||||
modules: |
||||
config: |
||||
Db: |
||||
dsn: '' |
||||
user: '' |
||||
password: '' |
||||
dump: tests/_data/dump.sql |
@ -0,0 +1,23 @@
|
||||
<?php |
||||
|
||||
// the entry script URL (without host info) for functional and acceptance tests |
||||
// PLEASE ADJUST IT TO THE ACTUAL ENTRY SCRIPT URL |
||||
defined('TEST_ENTRY_URL') or define('TEST_ENTRY_URL', '/index-test.php'); |
||||
|
||||
// the entry script file path for functional and acceptance tests |
||||
defined('TEST_ENTRY_FILE') or define('TEST_ENTRY_FILE', dirname(__DIR__) . '/index-test.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.php'); |
||||
|
||||
require(__DIR__ . '/../../common/config/aliases.php'); |
||||
|
||||
// set correct script paths |
||||
$_SERVER['SCRIPT_FILENAME'] = TEST_ENTRY_FILE; |
||||
$_SERVER['SCRIPT_NAME'] = TEST_ENTRY_URL; |
||||
$_SERVER['SERVER_NAME'] = 'localhost'; |
@ -0,0 +1,14 @@
|
||||
<?php |
||||
/** |
||||
* application configurations shared by all test types |
||||
*/ |
||||
return [ |
||||
'components' => [ |
||||
'mail' => [ |
||||
'useFileTransport' => true, |
||||
], |
||||
'urlManager' => [ |
||||
'showScriptName' => true, |
||||
], |
||||
], |
||||
]; |
@ -0,0 +1,19 @@
|
||||
<?php |
||||
/** |
||||
* Yii console bootstrap file. |
||||
* |
||||
* @link http://www.yiiframework.com/ |
||||
* @copyright Copyright (c) 2008 Yii Software LLC |
||||
* @license http://www.yiiframework.com/license/ |
||||
*/ |
||||
|
||||
// fcgi doesn't have STDIN and STDOUT defined by default |
||||
defined('STDIN') or define('STDIN', fopen('php://stdin', 'r')); |
||||
defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w')); |
||||
|
||||
require_once(__DIR__ . '/../../vendor/autoload.php'); |
||||
require_once(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php'); |
||||
require_once(__DIR__ . '/../../common/config/aliases.php'); |
||||
|
||||
defined('YII_DEBUG') or define('YII_DEBUG', true); |
||||
defined('YII_ENV') or define('YII_ENV', 'test'); |
@ -0,0 +1 @@
|
||||
/* Replace this file with actual dump of your database */ |
@ -0,0 +1,8 @@
|
||||
<?php |
||||
namespace Codeception\Module; |
||||
|
||||
// here you can define custom functions for CodeGuy |
||||
|
||||
class CodeHelper extends \Codeception\Module |
||||
{ |
||||
} |
@ -0,0 +1,8 @@
|
||||
<?php |
||||
namespace Codeception\Module; |
||||
|
||||
// here you can define custom functions for TestGuy |
||||
|
||||
class TestHelper extends \Codeception\Module |
||||
{ |
||||
} |
@ -0,0 +1,8 @@
|
||||
<?php |
||||
namespace Codeception\Module; |
||||
|
||||
// here you can define custom functions for WebGuy |
||||
|
||||
class WebHelper extends \Codeception\Module |
||||
{ |
||||
} |
@ -0,0 +1,2 @@
|
||||
* |
||||
!.gitignore |
@ -0,0 +1,8 @@
|
||||
# Codeception Test Suite Configuration |
||||
|
||||
# suite for unit (internal) tests. |
||||
# RUN `build` COMMAND AFTER ADDING/REMOVING MODULES. |
||||
|
||||
class_name: CodeGuy |
||||
modules: |
||||
enabled: [CodeHelper] |
@ -0,0 +1,8 @@
|
||||
<?php |
||||
|
||||
namespace console\tests\unit; |
||||
|
||||
class DbTestCase extends \yii\codeception\DbTestCase |
||||
{ |
||||
public $appConfig = '@console/tests/unit/_config.php'; |
||||
} |
@ -0,0 +1,8 @@
|
||||
<?php |
||||
|
||||
namespace console\tests\unit; |
||||
|
||||
class TestCase extends \yii\codeception\TestCase |
||||
{ |
||||
public $appConfig = '@console/tests/unit/_config.php'; |
||||
} |
@ -0,0 +1,2 @@
|
||||
<?php |
||||
// Here you can initialize variables that will for your tests |
@ -0,0 +1,14 @@
|
||||
<?php |
||||
|
||||
return yii\helpers\ArrayHelper::merge( |
||||
require(__DIR__ . '/../../config/main.php'), |
||||
require(__DIR__ . '/../../config/main-local.php'), |
||||
require(__DIR__ . '/../_config.php'), |
||||
[ |
||||
'components' => [ |
||||
'db' => [ |
||||
'dsn' => 'mysql:host=localhost;dbname=yii2_advanced_unit', |
||||
], |
||||
], |
||||
] |
||||
); |
@ -0,0 +1,15 @@
|
||||
<?php |
||||
|
||||
return yii\helpers\ArrayHelper::merge( |
||||
require(__DIR__ . '/../../../common/config/main.php'), |
||||
require(__DIR__ . '/../../../common/config/main-local.php'), |
||||
require(__DIR__ . '/../../config/main.php'), |
||||
require(__DIR__ . '/../../config/main-local.php'), |
||||
[ |
||||
'components' => [ |
||||
'db' => [ |
||||
'dsn' => 'mysql:host=localhost;dbname=yii2_advanced_unit', |
||||
], |
||||
], |
||||
] |
||||
); |
@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env php |
||||
<?php |
||||
/** |
||||
* Yii console bootstrap file. |
||||
* |
||||
* @link http://www.yiiframework.com/ |
||||
* @copyright Copyright (c) 2008 Yii Software LLC |
||||
* @license http://www.yiiframework.com/license/ |
||||
*/ |
||||
|
||||
// fcgi doesn't have STDIN and STDOUT defined by default |
||||
defined('STDIN') or define('STDIN', fopen('php://stdin', 'r')); |
||||
defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w')); |
||||
|
||||
require_once(__DIR__ . '/../_console.php'); |
||||
|
||||
$config = require(__DIR__ . '/_console.php'); |
||||
|
||||
$application = new yii\console\Application($config); |
||||
$exitCode = $application->run(); |
||||
exit($exitCode); |
@ -0,0 +1,20 @@
|
||||
@echo off |
||||
|
||||
rem ------------------------------------------------------------- |
||||
rem Yii command line bootstrap script for Windows. |
||||
rem |
||||
rem @author Qiang Xue <qiang.xue@gmail.com> |
||||
rem @link http://www.yiiframework.com/ |
||||
rem @copyright Copyright © 2012 Yii Software LLC |
||||
rem @license http://www.yiiframework.com/license/ |
||||
rem ------------------------------------------------------------- |
||||
|
||||
@setlocal |
||||
|
||||
set YII_PATH=%~dp0 |
||||
|
||||
if "%PHP_COMMAND%" == "" set PHP_COMMAND=php.exe |
||||
|
||||
"%PHP_COMMAND%" "%YII_PATH%yii" %* |
||||
|
||||
@endlocal |
@ -1,10 +1,12 @@
|
||||
<?php |
||||
return [ |
||||
'preload' => [ |
||||
'debug', |
||||
], |
||||
'modules' => [ |
||||
'debug' => 'yii\debug\Module', |
||||
'gii' => 'yii\gii\Module', |
||||
], |
||||
]; |
||||
|
||||
$config = []; |
||||
|
||||
if (!YII_ENV_TEST) { |
||||
// configuration adjustments for 'dev' environment |
||||
$config['preload'][] = 'debug'; |
||||
$config['modules']['debug'] = 'yii\debug\Module'; |
||||
$config['modules']['gii'] = 'yii\gii\Module'; |
||||
} |
||||
|
||||
return $config; |
||||
|
@ -0,0 +1,17 @@
|
||||
<?php |
||||
|
||||
// NOTE: Make sure this file is not accessible when deployed to production |
||||
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(__DIR__ . '/../../vendor/autoload.php'); |
||||
require(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php'); |
||||
require(__DIR__ . '/../../common/config/aliases.php'); |
||||
|
||||
$config = require(__DIR__ . '/../tests/acceptance/_config.php'); |
||||
|
||||
(new yii\web\Application($config))->run(); |
@ -1,10 +1,12 @@
|
||||
<?php |
||||
return [ |
||||
'preload' => [ |
||||
'debug', |
||||
], |
||||
'modules' => [ |
||||
'debug' => 'yii\debug\Module', |
||||
'gii' => 'yii\gii\Module', |
||||
], |
||||
]; |
||||
|
||||
$config = []; |
||||
|
||||
if (!YII_ENV_TEST) { |
||||
// configuration adjustments for 'dev' environment |
||||
$config['preload'][] = 'debug'; |
||||
$config['modules']['debug'] = 'yii\debug\Module'; |
||||
$config['modules']['gii'] = 'yii\gii\Module'; |
||||
} |
||||
|
||||
return $config; |
||||
|
@ -0,0 +1,17 @@
|
||||
<?php |
||||
|
||||
// NOTE: Make sure this file is not accessible when deployed to production |
||||
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(__DIR__ . '/../../vendor/autoload.php'); |
||||
require(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php'); |
||||
require(__DIR__ . '/../../common/config/aliases.php'); |
||||
|
||||
$config = require(__DIR__ . '/../tests/acceptance/_config.php'); |
||||
|
||||
(new yii\web\Application($config))->run(); |
@ -0,0 +1,18 @@
|
||||
paths: |
||||
tests: tests |
||||
log: tests/_log |
||||
data: tests/_data |
||||
helpers: tests/_helpers |
||||
settings: |
||||
bootstrap: _bootstrap.php |
||||
suite_class: \PHPUnit_Framework_TestSuite |
||||
colors: true |
||||
memory_limit: 1024M |
||||
log: true |
||||
modules: |
||||
config: |
||||
Db: |
||||
dsn: '' |
||||
user: '' |
||||
password: '' |
||||
dump: tests/_data/dump.sql |
@ -0,0 +1,23 @@
|
||||
<?php |
||||
|
||||
// the entry script URL (without host info) for functional and acceptance tests |
||||
// PLEASE ADJUST IT TO THE ACTUAL ENTRY SCRIPT URL |
||||
defined('TEST_ENTRY_URL') or define('TEST_ENTRY_URL', '/frontend/web/index-test.php'); |
||||
|
||||
// the entry script file path for functional and acceptance tests |
||||
defined('TEST_ENTRY_FILE') or define('TEST_ENTRY_FILE', dirname(__DIR__) . '/web/index-test.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.php'); |
||||
|
||||
require(__DIR__ . '/../../common/config/aliases.php'); |
||||
|
||||
// set correct script paths |
||||
$_SERVER['SCRIPT_FILENAME'] = TEST_ENTRY_FILE; |
||||
$_SERVER['SCRIPT_NAME'] = TEST_ENTRY_URL; |
||||
$_SERVER['SERVER_NAME'] = 'localhost'; |
@ -0,0 +1,14 @@
|
||||
<?php |
||||
/** |
||||
* application configurations shared by all test types |
||||
*/ |
||||
return [ |
||||
'components' => [ |
||||
'mail' => [ |
||||
'useFileTransport' => true, |
||||
], |
||||
'urlManager' => [ |
||||
'showScriptName' => true, |
||||
], |
||||
], |
||||
]; |
@ -0,0 +1,19 @@
|
||||
<?php |
||||
/** |
||||
* Yii console bootstrap file. |
||||
* |
||||
* @link http://www.yiiframework.com/ |
||||
* @copyright Copyright (c) 2008 Yii Software LLC |
||||
* @license http://www.yiiframework.com/license/ |
||||
*/ |
||||
|
||||
// fcgi doesn't have STDIN and STDOUT defined by default |
||||
defined('STDIN') or define('STDIN', fopen('php://stdin', 'r')); |
||||
defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w')); |
||||
|
||||
require_once(__DIR__ . '/../../vendor/autoload.php'); |
||||
require_once(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php'); |
||||
require_once(__DIR__ . '/../../common/config/aliases.php'); |
||||
|
||||
defined('YII_DEBUG') or define('YII_DEBUG', true); |
||||
defined('YII_ENV') or define('YII_ENV', 'test'); |
@ -0,0 +1 @@
|
||||
/* Replace this file with actual dump of your database */ |
@ -0,0 +1,8 @@
|
||||
<?php |
||||
namespace Codeception\Module; |
||||
|
||||
// here you can define custom functions for CodeGuy |
||||
|
||||
class CodeHelper extends \Codeception\Module |
||||
{ |
||||
} |
@ -0,0 +1,8 @@
|
||||
<?php |
||||
namespace Codeception\Module; |
||||
|
||||
// here you can define custom functions for TestGuy |
||||
|
||||
class TestHelper extends \Codeception\Module |
||||
{ |
||||
} |
@ -0,0 +1,8 @@
|
||||
<?php |
||||
namespace Codeception\Module; |
||||
|
||||
// here you can define custom functions for WebGuy |
||||
|
||||
class WebHelper extends \Codeception\Module |
||||
{ |
||||
} |
@ -0,0 +1,2 @@
|
||||
* |
||||
!.gitignore |
@ -0,0 +1,10 @@
|
||||
<?php |
||||
|
||||
namespace frontend\tests\_pages; |
||||
|
||||
use yii\codeception\BasePage; |
||||
|
||||
class AboutPage extends BasePage |
||||
{ |
||||
public $route = 'site/about'; |
||||
} |
@ -0,0 +1,22 @@
|
||||
<?php |
||||
|
||||
namespace frontend\tests\_pages; |
||||
|
||||
use yii\codeception\BasePage; |
||||
|
||||
class ContactPage extends BasePage |
||||
{ |
||||
public $route = 'site/contact'; |
||||
|
||||
/** |
||||
* @param array $contactData |
||||
*/ |
||||
public function submit(array $contactData) |
||||
{ |
||||
foreach ($contactData as $field => $value) { |
||||
$inputType = $field === 'body' ? 'textarea' : 'input'; |
||||
$this->guy->fillField($inputType . '[name="ContactForm[' . $field . ']"]', $value); |
||||
} |
||||
$this->guy->click('contact-button'); |
||||
} |
||||
} |
@ -0,0 +1,24 @@
|
||||
<?php |
||||
|
||||
namespace frontend\tests\_pages; |
||||
|
||||
use \yii\codeception\BasePage; |
||||
|
||||
class SignupPage extends BasePage |
||||
{ |
||||
|
||||
public $route = 'site/signup'; |
||||
|
||||
/** |
||||
* @param array $signupData |
||||
*/ |
||||
public function submit(array $signupData) |
||||
{ |
||||
foreach ($signupData as $field => $value) { |
||||
$inputType = $field === 'body' ? 'textarea' : 'input'; |
||||
$this->guy->fillField($inputType . '[name="SignupForm[' . $field . ']"]', $value); |
||||
} |
||||
$this->guy->click('signup-button'); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,28 @@
|
||||
# Codeception Test Suite Configuration |
||||
|
||||
# suite for acceptance tests. |
||||
# perform tests in browser using the Selenium-like tools. |
||||
# powered by Mink (http://mink.behat.org). |
||||
# (tip: that's what your customer will see). |
||||
# (tip: test your ajax and javascript by one of Mink drivers). |
||||
|
||||
# RUN `build` COMMAND AFTER ADDING/REMOVING MODULES. |
||||
|
||||
class_name: WebGuy |
||||
modules: |
||||
enabled: |
||||
- WebHelper |
||||
- PhpBrowser |
||||
- common\tests\_helpers\FixtureHelper |
||||
# you can use WebDriver instead of PhpBrowser to test javascript and ajax. |
||||
# This will require you to install selenium. See http://codeception.com/docs/04-AcceptanceTests#Selenium |
||||
# "restart" option is used by the WebDriver to start each time per test-file new session and cookies, |
||||
# it is useful if you want to login in your app in each test. |
||||
# - WebDriver |
||||
config: |
||||
PhpBrowser: |
||||
url: 'http://localhost:8080' |
||||
# WebDriver: |
||||
# url: 'http://localhost' |
||||
# browser: firefox |
||||
# restart: true |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue