Exemple #1
0
 public function tryToTest(WebGuy $I, $scenario)
 {
     $I->wantToTest('show published page...');
     $I->amOnPage('/opublikovannaja-starnica');
     $I->seeInTitle('Опубликованная страница');
     $I->see('Опубликованная страница', 'h1');
     $I->see('Опубликованная страница текст');
     $I->wantToTest('unpublished page...');
     $I->amOnPage('/skrytaja-stranica');
     $I->see('Страница которую вы запросили не найдена.');
     $I->wantToTest('protected page...');
     $I->amOnPage('/zaschischennaja-stranica');
     $I->seeInCurrentUrl(LoginPage::$URL);
     $I->see('Для просмотра этой страницы Вам необходимо авторизоваться!', CommonPage::ERROR_CSS_CLASS);
     $I = new UserSteps($scenario);
     $I->login('*****@*****.**', 'testpassword');
     $I->amOnPage('/zaschischennaja-stranica');
     $I->seeInTitle('Защищенная страница');
     $I->see('Защищенная страница', 'h1');
     $I->see('Защищенная страница текст');
     $I->wantToTest('page preview...');
     $I->amOnPage('/skrytaja-stranica');
     $I->see('Страница которую вы запросили не найдена.');
     $I->amOnPage('/skrytaja-stranica?preview=1');
     $I->seeInTitle('Скрытая страница');
     $I->see('Скрытая страница', 'h1');
     $I->see('Скрытая страница текст');
 }
Exemple #2
0
 public function tryToTestPagePublishing(WebGuy $I, $scenario)
 {
     $I = new 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->selectOption('News[status]', 'Опубликовано');
     $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.html'));
     $I->expectTo('see just published news...');
     $I->see('Вторая не опубликованная новость', 'h4');
     $I->see('Вторая не опубликованная новость текст');
     $I->seeInTitle('Вторая не опубликованная новость');
 }
 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 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 UserSteps($scenario);
     $I->logout();
     $I->changeEmail('*****@*****.**');
 }
Exemple #4
0
 public function tryToTestNewsPage(WebGuy $I, $scenario)
 {
     $I->am('anonymous user');
     $I->amGoingTo('test show news page...');
     $I->amOnPage(NewsPage::route('pervaja-opublikovannaja-novost'));
     $I->expectTo('see published news...');
     $I->see('Первая опубликованная новость', 'h4');
     $I->see('Первая опубликованная текст');
     $I->seeInTitle('Первая опубликованная новость');
     $I->amGoingTo('test show not published news...');
     $I->amOnPage(NewsPage::route('vtoraja-ne-opublikovannaja-novost'));
     $I->expectTo(' see page not found exception...');
     $I->dontSee('Вторая не опубликованная новость');
     $I->dontSeeInTitle('Вторая не опубликованная новость');
     $I->amGoingTo('test show protected news...');
     $I->amOnPage(NewsPage::route('tretja-novost-tolko-dlja-avtorizovannyh'));
     $I->expectTo(' see login page...');
     $I->dontSee('Третья новость только для авторизованных');
     $I->dontSee('Третья новость только для авторизованных текст');
     $I->dontSeeInTitle('Третья новость только для авторизованных текст');
     $I->seeInCurrentUrl('login');
     $I->see('Для просмотра этой страницы Вам необходимо авторизоваться!', CommonPage::ERROR_CSS_CLASS);
     $I->am('authorized user');
     $I = new UserSteps($scenario);
     $I->login('*****@*****.**', 'testpassword');
     $I->amGoingTo('test show protected news for authorized user...');
     $I->amOnPage(NewsPage::route('tretja-novost-tolko-dlja-avtorizovannyh'));
     $I->expectTo(' see protected news...');
     $I->see('Третья новость только для авторизованных', 'h4');
     $I->see('Третья новость только для авторизованных текст');
     $I->seeInTitle('Третья новость только для авторизованных');
     $I->amGoingTo('test show not published news...');
     $I->amOnPage(NewsPage::route('vtoraja-ne-opublikovannaja-novost'));
     $I->expectTo(' see page not found exception...');
     $I->dontSee('Вторая не опубликованная новость');
     $I->dontSeeInTitle('Вторая не опубликованная новость');
 }
Exemple #5
0
 public function tryToTestBrands(WebGuy $I, $scenario)
 {
     $I->am('normal user');
     $I->amGoingTo('test brands list page');
     $I->amOnPage(self::FRONTEND_BRANDS_PATH);
     $I->expectTo('see brands list with active status');
     $I->see('Все бренды', 'h2');
     $I->seeLink('Intel');
     $I->seeLink('Dell');
     $I->dontSeeLink('A4Tech');
     $I->dontSeeLink('Samsung');
     $I->amGoingTo('visit a brand page');
     $I->click('Intel');
     $I->seeInCurrentUrl('/store/brand/intel');
     $I->seeInTitle('Intel');
     $I->see('Все товары производителя «Intel»', 'h2');
     $I->see('Описание бренда Intel', 'p');
     $I->see('Нет результатов.');
     $I->seeLink('Все бренды');
     $I->click('Все бренды');
     $I->seeInCurrentUrl(self::FRONTEND_BRANDS_PATH);
     $I->click('Dell');
     $I->see('Все товары производителя «Dell»', 'h2');
     $I->dontSee('Нет результатов.');
     $I->see('Сортировка:');
     $I->seeLink('Артикул');
     $I->seeLink('Название');
     $I->seeLink('Цена');
     $I->seeLink('Обновлено');
     $I->seeLink('Dell U2715H');
     $I->seeLink('Dell P2214H');
     $I->amGoingTo('visit inactive brand page');
     $I->expectTo('see 404 error');
     $I->amOnPage('/store/brand/samsung');
     $I->see('Ошибка 404!', 'h2');
     $I = new UserSteps($scenario);
     $I->loginAsAdminAndGoToThePanel(CommonPage::TEST_USER_NAME, CommonPage::TEST_PASSWORD);
     $I->am('administrator');
     $I->amGoingTo('test backend brands list');
     $I->amOnPage(self::BACKEND_BRANDS_PATH);
     $I->see('Бренды', 'h1');
     $I->expectTo('see sidebar menu');
     $I->seeLink('Все бренды');
     $I->seeLink('Добавить');
     $I->expectTo('see brand list');
     $I->seeLink('Intel');
     $I->seeLink('Dell');
     $I->seeLink('A4Tech');
     $I->seeLink('Samsung');
     $I->expectTo('see buttons column');
     $I->seeInPageSource('<a class="front-view btn btn-sm btn-default" target="_blank" title="" data-toggle="tooltip" href="/index-test.php/store/brand/intel"');
     $I->seeInPageSource('<a class="view btn btn-sm btn-default" title="" data-toggle="tooltip" href="/index-test.php/backend/store/producer/view/1"');
     $I->seeInPageSource('<a class="update btn btn-sm btn-default" title="" data-toggle="tooltip" href="/index-test.php/backend/store/producer/update/1"');
     $I->seeInPageSource('<a class="delete btn btn-sm btn-default" title="" data-toggle="tooltip" href="/index-test.php/backend/store/producer/delete/1"');
     $I->amGoingTo('test brand grid filter');
     $I->fillField('Producer[name]', 'Intel');
     $I->pressKey('#Producer_name', WebDriverKeys::ENTER);
     $I->wait(1);
     $I->seeLink('Intel');
     $I->dontSeeLink('Dell');
     $I->dontSeeLink('A4Tech');
     $I->dontSeeLink('Samsung');
     $I->fillField('Producer[name]', '');
     $I->wait(1);
     $I->fillField('Producer[name_short]', 'Dell');
     $I->pressKey('#Producer_name_short', WebDriverKeys::ENTER);
     $I->wait(1);
     $I->seeLink('Dell');
     $I->dontSeeLink('Intel');
     $I->dontSeeLink('A4Tech');
     $I->dontSeeLink('Samsung');
     $I->fillField('Producer[name_short]', '');
     $I->wait(1);
     $I->fillField('Producer[slug]', 'sams');
     $I->pressKey('#Producer_slug', WebDriverKeys::ENTER);
     $I->wait(1);
     $I->seeLink('Samsung');
     $I->dontSeeLink('Intel');
     $I->dontSeeLink('A4Tech');
     $I->dontSeeLink('Dell');
     $I->fillField('Producer[slug]', '');
     $I->wait(1);
     $I->pressKey('#Producer_slug', WebDriverKeys::ENTER);
     $I->wait(1);
     $I->selectOption('Producer[status]', 'Доступен');
     $I->wait(1);
     $I->seeLink('Intel');
     $I->seeLink('Dell');
     $I->dontSeeLink('A4Tech');
     $I->dontSeeLink('Samsung');
     $I->amGoingTo('change brand status');
     $I->amOnPage(self::BACKEND_BRANDS_PATH . '/update/4');
     $I->selectOption('Producer[status]', 'Доступен');
     $I->click('Сохранить производителя и закрыть');
     $I->wait(1);
     $I->seeInCurrentUrl(self::BACKEND_BRANDS_PATH);
     $I->see('Запись изменена!', '.alert-success');
     $I->amOnPage(self::FRONTEND_BRANDS_PATH);
     $I->expectTo('see updated brand');
     $I->see('Все бренды', 'h2');
     $I->seeLink('Intel');
     $I->seeLink('Dell');
     $I->seeLink('Samsung');
     $I->dontSeeLink('A4Tech');
     $I->amGoingTo('add a new brand');
     $I->amOnPage(self::BACKEND_BRANDS_PATH . '/create');
     $I->see('Производитель', 'h1');
     $I->seeOptionIsSelected('Producer[status]', 'Доступен');
     $I->expectTo('see validation errors');
     $I->click('Добавить производителя и закрыть');
     $I->see('Необходимо заполнить поле «Короткое название»', '.error');
     $I->see('Необходимо заполнить поле «Название»', '.error');
     $I->see('Необходимо заполнить поле «URL»', '.error');
     $I->fillField('Producer[name_short]', 'Lenovo');
     $I->wait(1);
     $I->seeInField('Producer[slug]', 'lenovo');
     $I->fillField('Producer[name]', 'Lenovo');
     $I->click('Данные для поисковой оптимизации');
     $I->fillField('Producer[meta_title]', 'Lenovo. Заголовок страницы');
     $I->fillField('Producer[meta_keywords]', 'Lenovo. Ключевые слова');
     $I->fillField('Producer[meta_description]', 'Lenovo. Описание страницы');
     $I->expectTo('see successful addition of data');
     $I->click('Добавить производителя и закрыть');
     $I->wait(1);
     $I->seeInCurrentUrl(self::BACKEND_BRANDS_PATH);
     $I->see('Запись добавлена!', '.alert-success');
     $I->seeLink('Lenovo');
     $I->amGoingTo('see created brand');
     $I->amOnPage(self::BACKEND_BRANDS_PATH . '/view/5');
     $I->see('Просмотр производителя', 'h1');
     $I->expectTo('see brand detail view table');
     $I->see('Lenovo', 'td');
     $I->see('Доступен', 'td');
     $I->see('Lenovo. Заголовок страницы', 'td');
     $I->expectTo('see sidebar menu');
     $I->seeLink('Все бренды');
     $I->seeLink('Добавить');
     $I->seeLink('Редактировать производителя');
     $I->seeLink('Просмотреть производителя');
     $I->seeLink('Удалить производителя');
     $I->amOnPage(self::FRONTEND_BRANDS_PATH);
     $I->seeLink('Lenovo');
     $I->click('Lenovo');
     $I->seeInCurrentUrl('/store/brand/lenovo');
     $I->see('Все товары производителя «Lenovo»', 'h2');
     $I->seeInTitle('Lenovo. Заголовок страницы');
     $I->seeInPageSource('<meta name="description" content="Lenovo. Описание страницы"');
     $I->seeInPageSource('<meta name="keywords" content="Lenovo. Ключевые слова"');
     $I->amGoingTo('test deleting brand');
     $I->amOnPage(self::BACKEND_BRANDS_PATH);
     $I->seeLink('Lenovo');
     $I->amOnPage(self::BACKEND_BRANDS_PATH . '/delete/5');
     $I->expectTo('see an error message');
     $I->see('Неверный запрос. Пожалуйста, больше не повторяйте такие запросы', '.alert-danger');
     $I->amOnPage(self::BACKEND_BRANDS_PATH);
     $I->expectTo('delete brand via ajax request');
     $I->executeJS('
         $.post(
             document.location.href + "/delete/5", 
             {"YUPE_TOKEN":yupeToken}
         );
     ');
     $I->wait(1);
     $I->reloadPage();
     $I->dontSeeLink('Lenovo');
 }
Exemple #6
0
 public function tryToTestCategories(WebGuy $I, $scenario)
 {
     $I->am('normal user');
     $I->amGoingTo('test store categories list page');
     $I->amOnPage(self::FRONTEND_CATEGORIES_PATH);
     $I->expectTo('see published categories list');
     $I->see('Категории', 'h2');
     $I->seeLink('Компьютеры');
     $I->seeLink('Мониторы');
     $I->dontSeeLink('Клавиатуры');
     $I->dontSeeLink('Телефоны');
     $I->amGoingTo('visit a category page');
     $I->click('Компьютеры');
     $I->seeInCurrentUrl('/store/computer');
     $I->seeInTitle('Компьютеры');
     $I->see('Компьютеры', 'h1');
     $I->seeLink('Dell U2715H');
     $I->seeLink('Samsung U28E590D');
     $I->seeLink('A4Tech B314 Black USB');
     $I->amOnPage(self::FRONTEND_CATEGORIES_PATH);
     $I->click('Мониторы');
     $I->seeInCurrentUrl('/store/computer/display');
     $I->seeInTitle('Мониторы');
     $I->see('Мониторы', 'h1');
     $I->seeLink('Dell U2715H');
     $I->seeLink('Samsung U28E590D');
     $I->dontSeeLink('A4Tech B314 Black USB');
     $I->amGoingTo('visit a draft category page');
     $I->expectTo('see 404 error');
     $I->amOnPage('/store/computer/keyboard');
     $I->see('Ошибка 404!', 'h2');
     $I = new UserSteps($scenario);
     $I->loginAsAdminAndGoToThePanel(CommonPage::TEST_USER_NAME, CommonPage::TEST_PASSWORD);
     $I->am('administrator');
     $I->amGoingTo('test backend categories list');
     $I->amOnPage(self::BACKEND_CATEGORIES_PATH);
     $I->see('Категории', 'h1');
     $I->seeLink('Все категории');
     $I->seeLink('Новая категория');
     $I->seeLink('Компьютеры');
     $I->seeLink('Мониторы');
     $I->seeLink('Клавиатуры');
     $I->seeInPageSource('<a class="front-view btn btn-sm btn-default" target="_blank" title="" data-toggle="tooltip" href="/index-test.php/store/computer"');
     $I->seeInPageSource('<a class="view btn btn-sm btn-default" title="" data-toggle="tooltip" href="/index-test.php/backend/store/category/view/1"');
     $I->seeInPageSource('<a class="update btn btn-sm btn-default" title="" data-toggle="tooltip" href="/index-test.php/backend/store/category/update/1"');
     $I->seeInPageSource('<a class="delete btn btn-sm btn-default" title="" data-toggle="tooltip" href="/index-test.php/backend/store/category/delete/1"');
     $I->amGoingTo('test category grid filter');
     $I->fillField('StoreCategory[name]', 'Комп');
     $I->pressKey('#StoreCategory_name', WebDriverKeys::ENTER);
     $I->wait(1);
     $I->seeLink('Компьютеры');
     $I->dontSeeLink('Мониторы');
     $I->dontSeeLink('Клавиатуры');
     $I->fillField('StoreCategory[name]', '');
     $I->wait(1);
     $I->fillField('StoreCategory[slug]', 'disp');
     $I->pressKey('#StoreCategory_slug', WebDriverKeys::ENTER);
     $I->wait(1);
     $I->seeLink('Мониторы');
     $I->dontSeeLink('Компьютеры');
     $I->dontSeeLink('Клавиатуры');
     $I->fillField('StoreCategory[slug]', '');
     $I->wait(1);
     $I->pressKey('#StoreCategory_slug', WebDriverKeys::ENTER);
     $I->wait(1);
     $I->selectOption('StoreCategory[parent_id]', 'Компьютеры');
     $I->wait(1);
     $I->dontSeeLink('Компьютеры');
     $I->seeLink('Мониторы');
     $I->seeLink('Клавиатуры');
     $I->amOnPage(self::BACKEND_CATEGORIES_PATH);
     $I->selectOption('StoreCategory[status]', 'Черновик');
     $I->wait(1);
     $I->seeLink('Клавиатуры');
     $I->dontSeeLink('Мониторы');
     $I->dontSeeLink('Компьютеры');
     $I->amGoingTo('change category status');
     $I->amOnPage(self::BACKEND_CATEGORIES_PATH . '/update/3');
     $I->seeOptionIsSelected('StoreCategory[status]', 'Черновик');
     $I->selectOption('StoreCategory[status]', 'Опубликовано');
     $I->click('Сохранить категорию и закрыть');
     $I->amOnPage(self::FRONTEND_CATEGORIES_PATH);
     $I->see('Категории', 'h2');
     $I->seeLink('Компьютеры');
     $I->seeLink('Мониторы');
     $I->seeLink('Клавиатуры');
     $I->dontSeeLink('Телефоны');
     $I->amOnPage(self::BACKEND_CATEGORIES_PATH . '/update/3');
     $I->selectOption('StoreCategory[status]', 'Черновик');
     $I->click('Сохранить категорию и закрыть');
     $I->amGoingTo('add a new category');
     $I->amOnPage(self::BACKEND_CATEGORIES_PATH . '/create');
     $I->see('Категория', 'h1');
     $I->seeOptionIsSelected('StoreCategory[status]', 'Опубликовано');
     $I->expectTo('see validation errors');
     $I->click('Добавить категорию и закрыть');
     $I->see('Необходимо заполнить поле «Название»', '.error');
     $I->see('Необходимо заполнить поле «Алиас»', '.error');
     $I->fillField('StoreCategory[name]', 'Телефоны');
     $I->wait(1);
     $I->seeInField('StoreCategory[slug]', 'telefony');
     $I->click('Данные для поисковой оптимизации');
     $I->fillField('StoreCategory[title]', 'Телефоны. Заголовок h1');
     $I->fillField('StoreCategory[meta_title]', 'Телефоны. Заголовок страницы');
     $I->fillField('StoreCategory[meta_keywords]', 'Телефоны. Ключевые слова');
     $I->fillField('StoreCategory[meta_description]', 'Телефоны. Описание страницы');
     $I->expectTo('see successful addition of data');
     $I->click('Добавить категорию и закрыть');
     $I->wait(1);
     $I->seeInCurrentUrl(self::BACKEND_CATEGORIES_PATH);
     $I->see('Запись добавлена!', '.alert-success');
     $I->seeLink('Телефоны');
     $I->amGoingTo('see created category');
     $I->amOnPage(self::BACKEND_CATEGORIES_PATH . '/view/4');
     $I->see('Просмотр категории', 'h1');
     $I->expectTo('see category detail view table');
     $I->see('Телефоны', 'td');
     $I->see('telefony', 'td');
     $I->see('Опубликовано', 'td');
     $I->expectTo('see sidebar menu');
     $I->seeLink('Все категории');
     $I->seeLink('Новая категория');
     $I->seeLink('Редактировать категорию');
     $I->seeLink('Просмотреть категорию');
     $I->seeLink('Удалить категорию');
     $I->amOnPage(self::FRONTEND_CATEGORIES_PATH);
     $I->seeLink('Телефоны');
     $I->click('Телефоны');
     $I->seeInCurrentUrl('/store/telefony');
     $I->see('Телефоны. Заголовок h1', 'h1');
     $I->seeInTitle('Телефоны. Заголовок страницы');
     $I->seeInPageSource('<meta name="description" content="Телефоны. Описание страницы"');
     $I->seeInPageSource('<meta name="keywords" content="Телефоны. Ключевые слова"');
     $I->amGoingTo('test deleting categories');
     $I->amOnPage(self::BACKEND_CATEGORIES_PATH);
     $I->seeLink('Компьютеры');
     $I->seeLink('Мониторы');
     $I->seeLink('Клавиатуры');
     $I->seeLink('Телефоны');
     $I->amOnPage(self::BACKEND_CATEGORIES_PATH . '/delete/4');
     $I->expectTo('see an error message');
     $I->see('Неверный запрос. Пожалуйста, больше не повторяйте такие запросы', '.alert-danger');
     $I->amOnPage(self::BACKEND_CATEGORIES_PATH);
     $I->expectTo('delete category via ajax request');
     $I->executeJS('
         $.post(
             document.location.href + "/delete/4", 
             {"YUPE_TOKEN":yupeToken}
         );
     ');
     $I->wait(1);
     $I->reloadPage();
     $I->seeLink('Компьютеры');
     $I->seeLink('Мониторы');
     $I->seeLink('Клавиатуры');
     $I->dontSeeLink('Телефоны');
 }