예제 #1
0
 public function tryToTestPagePublishing(WebGuy $I, $scenario)
 {
     $I = new WebGuy\UserSteps($scenario);
     $I->login(\CommonPage::TEST_USER_NAME, \CommonPage::TEST_PASSWORD);
     $I->am('admin');
     $I->amGoingTo('test publishing news...');
     $I->amOnPage(\CommonPage::PANEL_URL);
     $I->see(\CommonPage::PANEL_LABEL, 'h1');
     $I->amOnPage('/backend/news/news');
     $I->see('Новости');
     $I->seeLink('Вторая не опубликованная новость');
     $I->amOnPage(\CommonPage::PANEL_URL . 'news/news/update/2');
     $I->see('Редактирование новости');
     $I->see('Вторая не опубликованная новость');
     $I->fillField('News[status]', 1);
     $I->click('Сохранить новость и продолжить');
     $I->see('Новость обновлена!', \CommonPage::SUCCESS_CSS_CLASS);
     $I->logout();
     $I->am('anonymous user');
     $I->amGoingTo('test show just published news...');
     $I->amOnPage(\NewsPage::route('vtoraja-ne-opublikovannaja-novost'));
     $I->expectTo('see just published news...');
     $I->see('Вторая не опубликованная новость', 'h4');
     $I->see('Вторая не опубликованная новость текст');
     $I->seeInTitle('Вторая не опубликованная новость');
 }
예제 #2
0
 public function testEditUserProfile(WebGuy $I, $scenario)
 {
     $I->dontSeeLink(\EditProfilePage::URL);
     $I->amOnPage(\EditProfilePage::URL);
     $I->seeInCurrentUrl('login');
     $I->wantTo('Test user profile form...');
     $I = new WebGuy\UserSteps($scenario);
     $I->login(\LoginPage::$userEmail, \LoginPage::$userPassword);
     $I->amOnPage(\EditProfilePage::URL);
     $I->see('E-Mail проверен', '.text-success');
     $I->seeInTitle('Профиль пользователя');
     $I->seeInField(\EditProfilePage::$emailField, \LoginPage::$userEmail);
     $I->see('Сохранить профиль', \CommonPage::BTN_PRIMARY_CSS_CLASS);
     $I->wantTo('Test change user email...');
     $I = new WebGuy\UserSteps($scenario);
     $I->logout();
     $I->changeEmail('*****@*****.**');
 }
예제 #3
0
 public function tryToTestContactsPage(WebGuy $I, $scenario)
 {
     $I->am('simple user');
     $I->amGoingTo('test contacts page');
     $I->amOnPage(\FeedBackPage::CONTACTS_URL);
     $I->seeInTitle('Контакты');
     $I->see('Контакты', 'h1');
     $I->seeInField(\FeedBackPage::$nameField, '');
     $I->seeInField(\FeedBackPage::$emailField, '');
     $I->seeInField(\FeedBackPage::$themeField, '');
     $I->seeInField(\FeedBackPage::$textField, '');
     $I->see(\FeedBackPage::$buttonLabel);
     $I->amGoingTo('test email validation');
     $I->fillField(\FeedBackPage::$nameField, 'test_name');
     $I->fillField(\FeedBackPage::$emailField, 'test_email');
     $I->fillField(\FeedBackPage::$themeField, 'test_theme');
     $I->fillField(\FeedBackPage::$textField, 'test_text');
     $I->click(\FeedBackPage::$buttonLabel);
     $I->see('Email не является правильным E-Mail адресом.', \CommonPage::ERROR_CSS_CLASS);
     $I->amGoingTo('test save feedback');
     $I->fillField(\FeedBackPage::$emailField, '*****@*****.**');
     $I->click(\FeedBackPage::$buttonLabel);
     $I->see('Ваше сообщение отправлено! Спасибо!', \CommonPage::SUCCESS_CSS_CLASS);
     $I->seeInDatabase('yupe_feedback_feedback', ['name' => 'test_name', 'email' => '*****@*****.**', 'theme' => 'test_theme', 'text' => 'test_text', 'is_faq' => 0, 'status' => 0]);
     $I->amGoingTo('check that new message is hide from public access');
     $I->amOnPage(\FeedBackPage::routeFaq(1));
     $I->see('Страница которую вы запросили не найдена.');
     $I->amOnPage(\FeedBackPage::FAQ_URL);
     $I->see('Вопросы и ответы', 'h1');
     $I->see('Задайте вопрос ?!', '.btn');
     $I->dontSeeLink('test_theme');
     $I->amGoingTo('mark feedback message as faq');
     $I = new WebGuy\UserSteps($scenario);
     $I->loginAsAdminAndGoToThePanel(\CommonPage::TEST_USER_NAME, \CommonPage::TEST_PASSWORD);
     $I->amOnPage('/backend/feedback/feedback');
     $I->see('test_name');
     $I->amOnPage('/backend/feedback/feedback/update/1');
     $I->selectOption('FeedBack[status]', 'Ответ отправлен');
     $I->dontSeeCheckboxIsChecked('FeedBack[is_faq]');
     $I->checkOption('FeedBack[is_faq]');
     $I->executeJs('$("textarea[name^=FeedBack]").show();');
     $I->fillField('FeedBack[answer]', 'test_answer');
     $I->click('Сохранить сообщение и закрыть');
     $I->see('Сообщение обновлено!', \CommonPage::SUCCESS_CSS_CLASS);
     $I->seeInCurrentUrl('/backend/feedback/feedback');
     $I->seeInDatabase('yupe_feedback_feedback', ['name' => 'test_name', 'email' => '*****@*****.**', 'theme' => 'test_theme', 'answer' => 'test_answer', 'is_faq' => 1, 'status' => 3]);
     $I->logout();
     $I->amGoingTo('test view feedback message on the public site');
     $I->amOnPage(\FeedBackPage::FAQ_URL);
     $I->see('Вопросы и ответы', 'h1');
     $I->see('Задайте вопрос ?!', '.btn');
     $I->seeLink('test_theme');
     $I->click('test_theme');
     $I->seeLink('Подробнее...', \FeedBackPage::routeFaq(1));
     $I->click('Подробнее...');
     $I->see('test_theme #1', 'h1');
     $I->see('Задайте вопрос ?!', '.btn');
     $check = ['test_name', 'test_theme', 'test_text', 'test_answer', 'yupe'];
     foreach ($check as $ch) {
         $I->see($ch);
     }
 }
예제 #4
0
<?php

use WebGuy\UserSteps;
$I = new UserSteps($scenario);
$I->wantTo('Log in and log out.');
// Wait one second before logging in so that our password expires.
sleep(1);
// todo: add test for account lockout, below code is not passing the tests
// $I->login('*****@*****.**', 'demo34');
// $I->login('*****@*****.**', 'demo34');
// $I->see('Your account has been temporarily locked due to too many failed login attempts.');
// Wait one second before logging in again so that the lockout expires.
// sleep(1);
$I->login('*****@*****.**', 'demo12');
$I->see('Your password has expired.');
$I->fillField(\ChangePasswordPage::$fieldPassword, 'demo1234');
$I->fillField(\ChangePasswordPage::$fieldVerifyPassword, 'demo1234');
$I->click('#changePasswordForm button[type=submit]');
$I->logout();
예제 #5
0
 public function testLogout(WebGuy $I, $scenario)
 {
     $I = new WebGuy\UserSteps($scenario);
     $I->login(\LoginPage::$userEmail, \LoginPage::$userPassword);
     $I->logout();
 }