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('Скрытая страница текст'); }
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('*****@*****.**'); }
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('Вторая не опубликованная новость'); }
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'); }
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('Телефоны'); }