'tester.email@example.com', 'username' => 'tester', ]); } /** * This method is called when test fails. * @param \Codeception\Event\FailEvent $event */ public function _fail($event) { } /** * * @param \codeception_frontend\FunctionalTester $I * @param \Codeception\Scenario $scenario */ public function testUserSignup($I, $scenario) { $I->wantTo('ensure that signup works'); $signupPage = SignupPage::openBy($I); $I->see('Signup', 'h1'); $I->see('Please fill out the following fields to signup:'); $I->amGoingTo('submit signup form with no data'); $signupPage->submit([]); $I->expectTo('see validation errors'); $I->see('Username cannot be blank.', '.help-block'); $I->see('Email cannot be blank.', '.help-block'); $I->see('Password cannot be blank.', '.help-block'); $I->amGoingTo('submit signup form with not correct email'); $signupPage->submit([ 'username' => 'tester', 'email' => 'tester.email', 'password' => 'tester_password', ]); $I->expectTo('see that email address is wrong'); $I->dontSee('Username cannot be blank.', '.help-block'); $I->dontSee('Password cannot be blank.', '.help-block'); $I->see('Email is not a valid email address.', '.help-block'); $I->amGoingTo('submit signup form with correct email'); $signupPage->submit([ 'username' => 'tester', 'email' => 'tester.email@example.com', 'password' => 'tester_password', ]); $I->expectTo('see that user is created'); $I->seeRecord('common\models\UserModel', [ 'username' => 'tester', 'email' => 'tester.email@example.com', ]); $I->expectTo('see that user logged in'); $I->seeLink('Logout (tester)'); } }