Mark
11 years ago
31 changed files with 459 additions and 0 deletions
@ -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' => 'pgsql: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' => 'pgsql: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' => 'pgsql: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' => 'pgsql: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' => 'pgsql: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' => 'pgsql: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 |
Loading…
Reference in new issue