29 changed files with 1704 additions and 41 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,7 @@ | ||||
| <?php | ||||
| 
 | ||||
| $config = require(__DIR__ . '/web.php'); | ||||
| 
 | ||||
| // ... customize $config for the "test" environment here... | ||||
| 
 | ||||
| return $config; | ||||
| @ -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,18 @@ | ||||
| # 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: | ||||
|         - PhpBrowser | ||||
|         - WebHelper | ||||
|     config: | ||||
|         PhpBrowser: | ||||
|             url: 'http://localhost/index-test.php' | ||||
| @ -0,0 +1,5 @@ | ||||
| <?php | ||||
| $I = new WebGuy($scenario); | ||||
| $I->wantTo('ensure that about works'); | ||||
| $I->amOnPage('?r=site/about'); | ||||
| $I->see('About', 'h1'); | ||||
| @ -0,0 +1,36 @@ | ||||
| <?php | ||||
| $I = new WebGuy($scenario); | ||||
| $I->wantTo('ensure that contact works'); | ||||
| $I->amOnPage('?r=site/contact'); | ||||
| $I->see('Contact', 'h1'); | ||||
| 
 | ||||
| $I->submitForm('#contact-form', array()); | ||||
| $I->see('Contact', 'h1'); | ||||
| $I->see('Name cannot be blank'); | ||||
| $I->see('Email cannot be blank'); | ||||
| $I->see('Subject cannot be blank'); | ||||
| $I->see('Body cannot be blank'); | ||||
| $I->see('The verification code is incorrect'); | ||||
| 
 | ||||
| $I->submitForm('#contact-form', array( | ||||
| 	'ContactForm[name]' => 'tester', | ||||
| 	'ContactForm[email]' => 'tester.email', | ||||
| 	'ContactForm[subject]' => 'test subject', | ||||
| 	'ContactForm[body]' => 'test content', | ||||
| 	'ContactForm[verifyCode]' => 'testme', | ||||
| )); | ||||
| $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', array( | ||||
| 	'ContactForm[name]' => 'tester', | ||||
| 	'ContactForm[email]' => 'tester@example.com', | ||||
| 	'ContactForm[subject]' => 'test subject', | ||||
| 	'ContactForm[body]' => 'test content', | ||||
| 	'ContactForm[verifyCode]' => 'testme', | ||||
| )); | ||||
| $I->dontSeeElement('#contact-form'); | ||||
| $I->see('Thank you for contacting us. We will respond to you as soon as possible.'); | ||||
| @ -0,0 +1,8 @@ | ||||
| <?php | ||||
| $I = new WebGuy($scenario); | ||||
| $I->wantTo('ensure that home page works'); | ||||
| $I->amOnPage(''); | ||||
| $I->see('My Company'); | ||||
| $I->seeLink('About'); | ||||
| $I->click('About'); | ||||
| $I->see('This is the About page.'); | ||||
| @ -0,0 +1,23 @@ | ||||
| <?php | ||||
| $I = new WebGuy($scenario); | ||||
| $I->wantTo('ensure that login works'); | ||||
| $I->amOnPage('?r=site/login'); | ||||
| $I->see('Login', 'h1'); | ||||
| 
 | ||||
| $I->submitForm('#login-form', array()); | ||||
| $I->dontSee('Logout (admin)'); | ||||
| $I->see('Username cannot be blank'); | ||||
| $I->see('Password cannot be blank'); | ||||
| 
 | ||||
| $I->submitForm('#login-form', array( | ||||
| 	'LoginForm[username]' => 'admin', | ||||
| 	'LoginForm[password]' => 'wrong', | ||||
| )); | ||||
| $I->dontSee('Logout (admin)'); | ||||
| $I->see('Incorrect username or password'); | ||||
| 
 | ||||
| $I->submitForm('#login-form', array( | ||||
| 	'LoginForm[username]' => 'admin', | ||||
| 	'LoginForm[password]' => 'admin', | ||||
| )); | ||||
| $I->see('Logout (admin)'); | ||||
									
										
											File diff suppressed because it is too large
											Load Diff
										
									
								
							
						| @ -0,0 +1,2 @@ | ||||
| <?php | ||||
| // Here you can initialize variables that will for your tests | ||||
| @ -0,0 +1,11 @@ | ||||
| # 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. | ||||
| 
 | ||||
| class_name: TestGuy | ||||
| modules: | ||||
|     enabled: [Filesystem, TestHelper] | ||||
| @ -0,0 +1,248 @@ | ||||
| <?php | ||||
| // This class was automatically generated by build task | ||||
| // You can change it manually, but it will be overwritten on next build | ||||
| // @codingStandardsIgnoreFile | ||||
| 
 | ||||
| use Codeception\Maybe; | ||||
| use Codeception\Module\Filesystem; | ||||
| use Codeception\Module\TestHelper; | ||||
| 
 | ||||
| /** | ||||
|  * Inherited methods | ||||
|  * @method void wantToTest($text) | ||||
|  * @method void wantTo($text) | ||||
|  * @method void amTesting($method) | ||||
|  * @method void amTestingMethod($method) | ||||
|  * @method void testMethod($signature) | ||||
|  * @method void expectTo($prediction) | ||||
|  * @method void expect($prediction) | ||||
|  * @method void amGoingTo($argumentation) | ||||
|  * @method void am($role) | ||||
|  * @method void lookForwardTo($role) | ||||
| */ | ||||
| 
 | ||||
| class TestGuy extends \Codeception\AbstractGuy | ||||
| { | ||||
|      | ||||
|     /** | ||||
|      * Enters a directory In local filesystem. | ||||
|      * Project root directory is used by default | ||||
|      * | ||||
|      * @param $path | ||||
|      * @see Filesystem::amInPath() | ||||
|      * @return \Codeception\Maybe | ||||
|      * ! This method is generated. DO NOT EDIT. ! | ||||
|      * ! Documentation taken from corresponding module ! | ||||
|      */ | ||||
|     public function amInPath($path) { | ||||
|         $this->scenario->condition('amInPath', func_get_args()); | ||||
|         if ($this->scenario->running()) { | ||||
|             $result = $this->scenario->runStep(); | ||||
|             return new Maybe($result); | ||||
|         } | ||||
|         return new Maybe(); | ||||
|     } | ||||
| 
 | ||||
|   | ||||
|     /** | ||||
|      * Opens a file and stores it's content. | ||||
|      * | ||||
|      * Usage: | ||||
|      * | ||||
|      * ``` php | ||||
|      * <?php | ||||
|      * $I->openFile('composer.json'); | ||||
|      * $I->seeInThisFile('codeception/codeception'); | ||||
|      * ?> | ||||
|      * ``` | ||||
|      * | ||||
|      * @param $filename | ||||
|      * @see Filesystem::openFile() | ||||
|      * @return \Codeception\Maybe | ||||
|      * ! This method is generated. DO NOT EDIT. ! | ||||
|      * ! Documentation taken from corresponding module ! | ||||
|      */ | ||||
|     public function openFile($filename) { | ||||
|         $this->scenario->action('openFile', func_get_args()); | ||||
|         if ($this->scenario->running()) { | ||||
|             $result = $this->scenario->runStep(); | ||||
|             return new Maybe($result); | ||||
|         } | ||||
|         return new Maybe(); | ||||
|     } | ||||
| 
 | ||||
|   | ||||
|     /** | ||||
|      * Deletes a file | ||||
|      * | ||||
|      * ``` php | ||||
|      * <?php | ||||
|      * $I->deleteFile('composer.lock'); | ||||
|      * ?> | ||||
|      * ``` | ||||
|      * | ||||
|      * @param $filename | ||||
|      * @see Filesystem::deleteFile() | ||||
|      * @return \Codeception\Maybe | ||||
|      * ! This method is generated. DO NOT EDIT. ! | ||||
|      * ! Documentation taken from corresponding module ! | ||||
|      */ | ||||
|     public function deleteFile($filename) { | ||||
|         $this->scenario->action('deleteFile', func_get_args()); | ||||
|         if ($this->scenario->running()) { | ||||
|             $result = $this->scenario->runStep(); | ||||
|             return new Maybe($result); | ||||
|         } | ||||
|         return new Maybe(); | ||||
|     } | ||||
| 
 | ||||
|   | ||||
|     /** | ||||
|      * Deletes directory with all subdirectories | ||||
|      * | ||||
|      * ``` php | ||||
|      * <?php | ||||
|      * $I->deleteDir('vendor'); | ||||
|      * ?> | ||||
|      * ``` | ||||
|      * | ||||
|      * @param $dirname | ||||
|      * @see Filesystem::deleteDir() | ||||
|      * @return \Codeception\Maybe | ||||
|      * ! This method is generated. DO NOT EDIT. ! | ||||
|      * ! Documentation taken from corresponding module ! | ||||
|      */ | ||||
|     public function deleteDir($dirname) { | ||||
|         $this->scenario->action('deleteDir', func_get_args()); | ||||
|         if ($this->scenario->running()) { | ||||
|             $result = $this->scenario->runStep(); | ||||
|             return new Maybe($result); | ||||
|         } | ||||
|         return new Maybe(); | ||||
|     } | ||||
| 
 | ||||
|   | ||||
|     /** | ||||
|      * Copies directory with all contents | ||||
|      * | ||||
|      * ``` php | ||||
|      * <?php | ||||
|      * $I->copyDir('vendor','old_vendor'); | ||||
|      * ?> | ||||
|      * ``` | ||||
|      * | ||||
|      * @param $src | ||||
|      * @param $dst | ||||
|      * @see Filesystem::copyDir() | ||||
|      * @return \Codeception\Maybe | ||||
|      * ! This method is generated. DO NOT EDIT. ! | ||||
|      * ! Documentation taken from corresponding module ! | ||||
|      */ | ||||
|     public function copyDir($src, $dst) { | ||||
|         $this->scenario->action('copyDir', func_get_args()); | ||||
|         if ($this->scenario->running()) { | ||||
|             $result = $this->scenario->runStep(); | ||||
|             return new Maybe($result); | ||||
|         } | ||||
|         return new Maybe(); | ||||
|     } | ||||
| 
 | ||||
|   | ||||
|     /** | ||||
|      * Checks If opened file has `text` in it. | ||||
|      * | ||||
|      * Usage: | ||||
|      * | ||||
|      * ``` php | ||||
|      * <?php | ||||
|      * $I->openFile('composer.json'); | ||||
|      * $I->seeInThisFile('codeception/codeception'); | ||||
|      * ?> | ||||
|      * ``` | ||||
|      * | ||||
|      * @param $text | ||||
|      * @see Filesystem::seeInThisFile() | ||||
|      * @return \Codeception\Maybe | ||||
|      * ! This method is generated. DO NOT EDIT. ! | ||||
|      * ! Documentation taken from corresponding module ! | ||||
|      */ | ||||
|     public function seeInThisFile($text) { | ||||
|         $this->scenario->assertion('seeInThisFile', func_get_args()); | ||||
|         if ($this->scenario->running()) { | ||||
|             $result = $this->scenario->runStep(); | ||||
|             return new Maybe($result); | ||||
|         } | ||||
|         return new Maybe(); | ||||
|     } | ||||
| 
 | ||||
|   | ||||
|     /** | ||||
|      * Checks If opened file doesn't contain `text` in it | ||||
|      * | ||||
|      * ``` php | ||||
|      * <?php | ||||
|      * $I->openFile('composer.json'); | ||||
|      * $I->seeInThisFile('codeception/codeception'); | ||||
|      * ?> | ||||
|      * ``` | ||||
|      * | ||||
|      * @param $text | ||||
|      * @see Filesystem::dontSeeInThisFile() | ||||
|      * @return \Codeception\Maybe | ||||
|      * ! This method is generated. DO NOT EDIT. ! | ||||
|      * ! Documentation taken from corresponding module ! | ||||
|      */ | ||||
|     public function dontSeeInThisFile($text) { | ||||
|         $this->scenario->action('dontSeeInThisFile', func_get_args()); | ||||
|         if ($this->scenario->running()) { | ||||
|             $result = $this->scenario->runStep(); | ||||
|             return new Maybe($result); | ||||
|         } | ||||
|         return new Maybe(); | ||||
|     } | ||||
| 
 | ||||
|   | ||||
|     /** | ||||
|      * Deletes a file | ||||
|      * @see Filesystem::deleteThisFile() | ||||
|      * @return \Codeception\Maybe | ||||
|      * ! This method is generated. DO NOT EDIT. ! | ||||
|      * ! Documentation taken from corresponding module ! | ||||
|      */ | ||||
|     public function deleteThisFile() { | ||||
|         $this->scenario->action('deleteThisFile', func_get_args()); | ||||
|         if ($this->scenario->running()) { | ||||
|             $result = $this->scenario->runStep(); | ||||
|             return new Maybe($result); | ||||
|         } | ||||
|         return new Maybe(); | ||||
|     } | ||||
| 
 | ||||
|   | ||||
|     /** | ||||
|      * Checks if file exists in path. | ||||
|      * Opens a file when it's exists | ||||
|      * | ||||
|      * ``` php | ||||
|      * <?php | ||||
|      * $I->seeFileFound('UserModel.php','app/models'); | ||||
|      * ?> | ||||
|      * ``` | ||||
|      * | ||||
|      * @param $filename | ||||
|      * @param string $path | ||||
|      * @see Filesystem::seeFileFound() | ||||
|      * @return \Codeception\Maybe | ||||
|      * ! This method is generated. DO NOT EDIT. ! | ||||
|      * ! Documentation taken from corresponding module ! | ||||
|      */ | ||||
|     public function seeFileFound($filename, $path = null) { | ||||
|         $this->scenario->assertion('seeFileFound', func_get_args()); | ||||
|         if ($this->scenario->running()) { | ||||
|             $result = $this->scenario->runStep(); | ||||
|             return new Maybe($result); | ||||
|         } | ||||
|         return new Maybe(); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| @ -0,0 +1,2 @@ | ||||
| <?php | ||||
| // Here you can initialize variables that will for your tests | ||||
| @ -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,27 @@ | ||||
| <?php | ||||
| // This class was automatically generated by build task | ||||
| // You can change it manually, but it will be overwritten on next build | ||||
| // @codingStandardsIgnoreFile | ||||
| 
 | ||||
| use Codeception\Maybe; | ||||
| use Codeception\Module\CodeHelper; | ||||
| 
 | ||||
| /** | ||||
|  * Inherited methods | ||||
|  * @method void wantToTest($text) | ||||
|  * @method void wantTo($text) | ||||
|  * @method void amTesting($method) | ||||
|  * @method void amTestingMethod($method) | ||||
|  * @method void testMethod($signature) | ||||
|  * @method void expectTo($prediction) | ||||
|  * @method void expect($prediction) | ||||
|  * @method void amGoingTo($argumentation) | ||||
|  * @method void am($role) | ||||
|  * @method void lookForwardTo($role) | ||||
| */ | ||||
| 
 | ||||
| class CodeGuy extends \Codeception\AbstractGuy | ||||
| { | ||||
|      | ||||
| } | ||||
| 
 | ||||
| @ -0,0 +1,2 @@ | ||||
| <?php | ||||
| // Here you can initialize variables that will for your tests | ||||
| @ -0,0 +1,17 @@ | ||||
| <?php | ||||
| 
 | ||||
| if (!in_array(@$_SERVER['REMOTE_ADDR'], array('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/yiisoft/yii2/yii/Yii.php'); | ||||
| require(__DIR__ . '/../vendor/autoload.php'); | ||||
| 
 | ||||
| $config = require(__DIR__ . '/../config/web-test.php'); | ||||
| 
 | ||||
| $application = new yii\web\Application($config); | ||||
| $application->run(); | ||||
					Loading…
					
					
				
		Reference in new issue