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 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 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('Подробнее...'); $I->click('Подробнее...'); $I->see('test_theme #1', 'h1'); $I->see('Задайте вопрос?!', '.btn'); $check = ['test_name', 'test_theme', 'test_text', 'test_answer']; foreach ($check as $ch) { $I->see($ch); } }
public function tryToTestAttributes(WebGuy $I, $scenario) { $I = new UserSteps($scenario); $I->loginAsAdminAndGoToThePanel(CommonPage::TEST_USER_NAME, CommonPage::TEST_PASSWORD); $I->am('administrator'); $I->amGoingTo('test backend attr list'); $I->amOnPage(self::BACKEND_ATTR_PATH); $I->see('Атрибуты', 'h1'); $I->expectTo('see sidebar menu'); $I->seeLink('Атрибуты'); $I->seeLink('Добавить'); $I->expectTo('see attr groups'); $I->see('Группы атрибутов', 'legend'); $I->seeLink('Группа1'); $I->seeLink('Группа2'); $I->expectTo('see attr list'); $I->see('Название', '.sort-link'); $I->see('Алиас', '.sort-link'); $I->see('Группа', '.sort-link'); $I->see('Тип', '.sort-link'); $I->see('Обязательный', '.sort-link'); $I->see('Фильтр', '.sort-link'); $I->seeLink('Тип клавиатуры'); $I->seeLink('Матрица'); $I->seeLink('Диагональ'); $I->expectTo('see buttons column'); $I->seeInPageSource('<a class="update btn btn-sm btn-default" title="" data-toggle="tooltip" href="/index-test.php/backend/store/attribute/update/1"'); $I->seeInPageSource('<a class="delete btn btn-sm btn-default" title="" data-toggle="tooltip" href="/index-test.php/backend/store/attribute/delete/1"'); $I->amGoingTo('test attr grid filter'); $I->fillField('Attribute[title]', 'клав'); $I->pressKey('#Attribute_title', WebDriverKeys::ENTER); $I->wait(1); $I->seeLink('Тип клавиатуры'); $I->dontSeeLink('Матрица'); $I->dontSeeLink('Диагональ'); $I->fillField('Attribute[title]', ''); $I->wait(1); $I->fillField('Attribute[name]', 'diag'); $I->pressKey('#Attribute_name', WebDriverKeys::ENTER); $I->wait(1); $I->seeLink('Диагональ'); $I->dontSeeLink('Тип клавиатуры'); $I->dontSeeLink('Матрица'); $I->fillField('Attribute[name]', ''); $I->wait(1); $I->selectOption('Attribute[group_id]', 'Группа1'); $I->wait(1); $I->dontSeeLink('Тип клавиатуры'); $I->seeLink('Матрица'); $I->seeLink('Диагональ'); $I->selectOption('Attribute[type]', 'Число'); $I->wait(1); $I->seeLink('Диагональ'); $I->dontSeeLink('Тип клавиатуры'); $I->dontSeeLink('Матрица'); $I->amOnPage(self::BACKEND_ATTR_PATH); $I->selectOption('Attribute[required]', 'Да'); $I->wait(1); $I->see('Нет результатов.'); $I->selectOption('Attribute[required]', 'Нет'); $I->wait(1); $I->seeLink('Матрица'); $I->seeLink('Диагональ'); $I->seeLink('Тип клавиатуры'); $I->amOnPage(self::BACKEND_ATTR_PATH); $I->selectOption('Attribute[is_filter]', 'Нет'); $I->wait(1); $I->see('Нет результатов.'); $I->selectOption('Attribute[is_filter]', 'Да'); $I->wait(1); $I->seeLink('Матрица'); $I->seeLink('Диагональ'); $I->seeLink('Тип клавиатуры'); $I->amGoingTo('add a new attr'); $I->amOnPage(self::BACKEND_ATTR_PATH . '/create'); $I->see('Атрибут', 'h1'); $I->expectTo('see validation errors'); $I->click('Добавить атрибут и закрыть'); $I->see('Необходимо заполнить поле «Тип»', '.error'); $I->see('Необходимо заполнить поле «Название»', '.error'); $I->see('Необходимо заполнить поле «Алиас»', '.error'); $I->selectOption('Attribute[type]', 'Число'); $I->fillField('Attribute[title]', 'Ширина'); $I->wait(1); $I->seeInField('Attribute[name]', 'shirina'); $I->fillField('Attribute[unit]', 'м'); $I->seeCheckboxIsChecked('Attribute[is_filter]'); $I->click('Добавить атрибут и закрыть'); $I->wait(1); $I->seeInCurrentUrl(self::BACKEND_ATTR_PATH); $I->see('Атрибут создан', '.alert-success'); $I->seeLink('Ширина'); $I->amGoingTo('test deleting attributes'); $I->amOnPage(self::BACKEND_ATTR_PATH . '/delete/4'); $I->expectTo('see an error message'); $I->see('Неверный запрос. Пожалуйста, больше не повторяйте такие запросы', '.alert-danger'); $I->amOnPage(self::BACKEND_ATTR_PATH); $I->expectTo('delete attr via ajax request'); $I->executeJS(' $.post( document.location.href + "/delete/4", {"YUPE_TOKEN":yupeToken} ); '); $I->wait(1); $I->reloadPage(); $I->seeLink('Диагональ'); $I->dontSeeLink('Ширина'); }
public function tryToTestOrderListBackend(WebGuy $I, $scenario) { $I->wantToTest('order backend'); $I = new UserSteps($scenario); $I->loginAsAdminAndGoToThePanel(CommonPage::TEST_USER_NAME, CommonPage::TEST_PASSWORD); $I->am('administrator'); $I->amOnPage(self::BACKEND_ORDER_PATH); $I->see('Заказы', 'h1'); $I->see('управление', 'small'); $I->expectTo('see sidebar menu'); $I->seeLink('Все заказы'); $I->seeLink('Добавить заказ'); $I->seeLink('Статусы заказов'); $I->seeLink('Добавить статус'); $I->see('Элементы 1—3 из 3.', '.summary'); $I->see('Добавить', '.btn-success'); $I->see('Удалить', '#delete-order'); $I->see('№', '.sort-link'); $I->see('Создан', '.sort-link'); $I->see('Клиент', '.sort-link'); $I->see('Сумма', '.sort-link'); $I->see('Статус', '.sort-link'); $I->see('Оплата', '.sort-link'); $I->see('Оплачено', '.sort-link'); $I->see('Доставка', '.sort-link'); $I->see('Менеджер', '.sort-link'); $I->seeLink('Платежеспособный Клиент Бабосович'); $I->seeLink('Багин Тестер Петрович'); $I->see('13 320,00 руб.', 'td'); $I->see('38 600,00 руб.', 'td'); $I->see('Наличными', 'td'); $I->see('Курьером'); $I->see('Самовывоз'); $I->amGoingTo('test order table filter'); $I->seeElement('input', ['name' => 'Order[id]']); $I->seeElement('input', ['name' => 'Order[name]']); $I->seeElement('input', ['name' => 'Order[total_price]']); $I->seeElement('select', ['name' => 'Order[status_id]']); $I->seeElement('select', ['name' => 'Order[payment_method_id]']); $I->seeElement('select', ['name' => 'Order[paid]']); $I->seeElement('select', ['name' => 'Order[delivery_id]']); $I->seeElement('select', ['name' => 'Order[manager_id]']); $I->fillField('Order[id]', 3); $I->pressKey('#Order_id', WebDriverKeys::ENTER); $I->wait(1); $I->seeLink('Платежеспособный Клиент Бабосович'); $I->dontSeeLink('Багин Тестер Петрович'); $I->amOnPage(self::BACKEND_ORDER_PATH); $I->fillField('Order[name]', 'баг'); $I->pressKey('#Order_name', WebDriverKeys::ENTER); $I->wait(1); $I->seeLink('Багин Тестер Петрович'); $I->dontSeeLink('Платежеспособный Клиент Бабосович'); $I->amOnPage(self::BACKEND_ORDER_PATH); $I->fillField('Order[total_price]', 13320); $I->pressKey('#Order_total_price', WebDriverKeys::ENTER); $I->wait(1); $I->seeLink('Платежеспособный Клиент Бабосович'); $I->dontSeeLink('Багин Тестер Петрович'); $I->amOnPage(self::BACKEND_ORDER_PATH); $I->selectOption('Order[status_id]', 'Новый'); $I->wait(1); $I->seeLink('Багин Тестер Петрович'); $I->dontSeeLink('Платежеспособный Клиент Бабосович'); $I->amOnPage(self::BACKEND_ORDER_PATH); $I->selectOption('Order[payment_method_id]', 'Робокасса'); $I->wait(1); $I->see('Нет результатов.'); $I->amOnPage(self::BACKEND_ORDER_PATH); $I->selectOption('Order[paid]', 'Не оплачен'); $I->wait(1); $I->seeLink('Багин Тестер Петрович'); $I->dontSeeLink('Платежеспособный Клиент Бабосович'); $I->amOnPage(self::BACKEND_ORDER_PATH); $I->selectOption('Order[delivery_id]', 'Курьером'); $I->wait(1); $I->seeLink('Платежеспособный Клиент Бабосович'); $I->dontSeeLink('Багин Тестер Петрович'); $I->amOnPage(self::BACKEND_ORDER_PATH); $I->selectOption('Order[manager_id]', 'Багин Тестер Петрович'); $I->wait(1); $I->seeLink('Платежеспособный Клиент Бабосович'); $I->dontSeeLink('Багин Тестер Петрович'); $I->amOnPage(self::BACKEND_ORDER_PATH); }
public function tryToTestBackendProductUpdate(WebGuy $I, $scenario) { $I->wantTo('update product'); $I = new UserSteps($scenario); $I->loginAsAdminAndGoToThePanel(CommonPage::TEST_USER_NAME, CommonPage::TEST_PASSWORD); $I->am('administrator'); $I->amOnPage(self::FRONTEND_PRODUCT_PATH); $I->dontSeeLink('Dell U2415'); $I->amOnPage(self::BACKEND_PRODUCT_PATH . '/update/3'); $I->see('Редактирование товара', 'h1'); $I->see('«Dell U2415»', 'small'); $I->expectTo('see sidebar menu'); $I->seeLink('Все товары'); $I->seeLink('Добавить товар'); $I->seeLink('Изменить товар'); $I->seeLink('Просмотреть товар'); $I->seeLink('Удалить товар'); $I->seeOptionIsSelected('Product[status]', 'Не доступен'); $I->selectOption('Product[status]', 'Доступен'); $I->click('Сохранить товар и закрыть'); $I->seeInCurrentUrl(self::BACKEND_PRODUCT_PATH); $I->see('Запись изменена!', '.alert-success'); $I->amOnPage(self::FRONTEND_PRODUCT_PATH); $I->seeLink('Dell U2415'); }
public function tryToTestPaymentBackend(WebGuy $I, $scenario) { $I = new UserSteps($scenario); $I->loginAsAdminAndGoToThePanel(CommonPage::TEST_USER_NAME, CommonPage::TEST_PASSWORD); $I->am('administrator'); $I->wantToTest('store payment backend'); $I->amOnPage(self::BACKEND_PAYMENT_PATH); $I->expectTo('see sidebar menu'); $I->seeLink('Управление способами оплаты'); $I->seeLink('Добавить способ оплаты'); $I->see('Способы оплаты', 'h1'); $I->see('управление', 'small'); $I->expectTo('see payment table'); $I->see('Элементы 1—2 из 2.', '.summary'); $I->seeElement('table', ['class' => 'items table table-condensed']); $I->see('Название', '.sort-link'); $I->see('Платежная система', '.sort-link'); $I->see('Статус', '.sort-link'); $I->seeLink('Наличными'); $I->seeLink('Робокасса'); $I->seeInPageSource('<a class="update btn btn-sm btn-default" title="" data-toggle="tooltip" href="/index-test.php/backend/payment/payment/update/1" data-original-title="Редактировать"'); $I->seeInPageSource('<a class="delete btn btn-sm btn-default" title="" data-toggle="tooltip" href="/index-test.php/backend/payment/payment/delete/1" data-original-title="Удалить"'); $I->amGoingTo('test payment filter'); $I->seeElement('input', ['name' => 'Payment[name]']); $I->seeElement('input', ['name' => 'Payment[module]']); $I->seeElement('select', ['name' => 'Payment[status]']); $I->fillField('Payment[name]', 'Наличными'); $I->pressKey('#Payment_name', WebDriverKeys::ENTER); $I->wait(1); $I->seeLink('Наличными'); $I->dontSeeLink('Робокасса'); $I->amOnPage(self::BACKEND_PAYMENT_PATH); $I->fillField('Payment[module]', 'robokassa'); $I->pressKey('#Payment_module', WebDriverKeys::ENTER); $I->wait(1); $I->seeLink('Робокасса'); $I->dontSeeLink('Наличными'); $I->amOnPage(self::BACKEND_PAYMENT_PATH); $I->selectOption('Payment[status]', 'Активен'); $I->wait(1); $I->seeLink('Наличными'); $I->dontSeeLink('Робокасса'); $I->amGoingTo('add a new payment'); $I->amOnPage(self::BACKEND_PAYMENT_PATH . '/create'); $I->see('Способ оплаты', 'h1'); $I->see('добавление', 'small'); $I->seeLink('Управление способами оплаты'); $I->seeLink('Добавить способ оплаты'); $I->seeOptionIsSelected('Payment[status]', 'Активен'); $I->fillField('Payment[name]', 'Тестовый'); $I->selectOption('Payment[module]', 'Обработка вручную'); $I->click('Добавить способ оплаты и закрыть'); $I->wait(1); $I->seeInCurrentUrl(self::BACKEND_PAYMENT_PATH); $I->see('Запись добавлена!', '.alert-success'); $I->seeLink('Тестовый'); $I->amGoingTo('delete payment'); $I->amOnPage(self::BACKEND_PAYMENT_PATH . '/delete/3'); $I->expectTo('see an error message'); $I->see('Неверный запрос. Пожалуйста, больше не повторяйте такие запросы', '.alert-danger'); $I->amOnPage(self::BACKEND_PAYMENT_PATH); $I->expectTo('delete attr via ajax request'); $I->executeJS(' $.post( document.location.href + "/delete/3", {"YUPE_TOKEN":yupeToken} ); '); $I->wait(1); $I->reloadPage(); $I->dontSeeLink('Тестовый'); }
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 tryToTestCouponBackend(WebGuy $I, $scenario) { $I = new UserSteps($scenario); $I->loginAsAdminAndGoToThePanel(CommonPage::TEST_USER_NAME, CommonPage::TEST_PASSWORD); $I->am('administrator'); $I->amOnPage(self::BACKEND_COUPON_PATH); $I->expectTo('see sidebar menu'); $I->seeLink('Управление купонами'); $I->seeLink('Добавить купон'); $I->see('Купоны', 'h1'); $I->expectTo('see coupon table'); $I->see('Название', '.sort-link'); $I->see('Код', '.sort-link'); $I->see('Дата начала', '.sort-link'); $I->see('Дата конца', '.sort-link'); $I->see('Статус', '.sort-link'); $I->see('Заказы', 'th'); $I->expectTo('see buttons column'); $I->seeInPageSource('<a class="view btn btn-sm btn-default" title="" data-toggle="tooltip" href="/index-test.php/backend/coupon/coupon/view/1" data-original-title="Просмотреть"'); $I->seeInPageSource('<a class="update btn btn-sm btn-default" title="" data-toggle="tooltip" href="/index-test.php/backend/coupon/coupon/update/1" data-original-title="Редактировать"'); $I->seeInPageSource('<a class="delete btn btn-sm btn-default" title="" data-toggle="tooltip" href="/index-test.php/backend/coupon/coupon/delete/1" data-original-title="Удалить"'); $I->expectTo('see coupon list'); $I->seeLink('Купон1'); $I->seeLink('Купон2'); $I->seeLink('Купон3'); $I->seeLink('Купон4'); $I->see('CPN1'); $I->see('CPN2'); $I->see('CPN3'); $I->see('CPN4'); $I->amGoingTo('test coupon filter'); $I->seeElement('input', ['name' => 'Coupon[name]']); $I->seeElement('input', ['name' => 'Coupon[code]']); $I->seeElement('input', ['name' => 'Coupon[start_time]']); $I->seeElement('input', ['name' => 'Coupon[end_time]']); $I->seeElement('select', ['name' => 'Coupon[status]']); $I->fillField('Coupon[name]', 'Купон1'); $I->pressKey('#Coupon_name', WebDriverKeys::ENTER); $I->wait(1); $I->seeLink('Купон1'); $I->dontSeeLink('Купон2'); $I->dontSeeLink('Купон3'); $I->dontSeeLink('Купон4'); $I->amOnPage(self::BACKEND_COUPON_PATH); $I->fillField('Coupon[code]', 'CPN2'); $I->pressKey('#Coupon_code', WebDriverKeys::ENTER); $I->wait(1); $I->seeLink('Купон2'); $I->dontSeeLink('Купон1'); $I->dontSeeLink('Купон3'); $I->dontSeeLink('Купон4'); $I->amOnPage(self::BACKEND_COUPON_PATH); $I->fillField('Coupon[end_time]', '2016-07-01'); $I->pressKey('#Coupon_end_time', WebDriverKeys::ENTER); $I->wait(1); $I->seeLink('Купон3'); $I->dontSeeLink('Купон2'); $I->dontSeeLink('Купон1'); $I->dontSeeLink('Купон4'); $I->amOnPage(self::BACKEND_COUPON_PATH); $I->selectOption('Coupon[status]', 'Неактивен'); $I->wait(1); $I->seeLink('Купон4'); $I->dontSeeLink('Купон3'); $I->dontSeeLink('Купон2'); $I->dontSeeLink('Купон1'); $I->amGoingTo('add a new coupon'); $I->amOnPage(self::BACKEND_COUPON_PATH . '/create'); $I->see('Купоны', 'h1'); $I->see('добавление', 'small'); $I->seeLink('Управление купонами'); $I->seeLink('Добавить купон'); $I->seeOptionIsSelected('Coupon[type]', 'Сумма'); $I->seeOptionIsSelected('Coupon[status]', 'Неактивен'); $I->seeOptionIsSelected('Coupon[free_shipping]', 'нет'); $I->seeOptionIsSelected('Coupon[registered_user]', 'нет'); $I->expectTo('see validation errors'); $I->click('Добавить купон и закрыть'); $I->see('Необходимо заполнить поле «Название»', '.error'); $I->see('Необходимо заполнить поле «Код»', '.error'); $I->fillField('Coupon[name]', 'Тестовый купон'); $I->amGoingTo('add coupon with existing code'); $I->expectTo('see error'); $I->fillField('Coupon[code]', 'CPN1'); $I->click('Добавить купон и закрыть'); $I->see('Код "CPN1" уже занят.', '.error'); $I->fillField('Coupon[code]', 'test'); $I->click('Добавить купон и закрыть'); $I->wait(1); $I->seeInCurrentUrl(self::BACKEND_COUPON_PATH); $I->see('Запись добавлена!', '.alert-success'); $I->seeLink('Тестовый купон'); $I->amGoingTo('view coupon data'); $I->amOnPage(self::BACKEND_COUPON_PATH . '/view/5'); $I->see('Просмотр купона', 'h1'); $I->see('«test»', 'small'); $I->expectTo('see sidebar menu'); $I->seeLink('Управление купонами'); $I->seeLink('Добавить купон'); $I->seeLink('Редактировать купон'); $I->seeLink('Просмотреть купон'); $I->seeLink('Удалить купон'); $I->seeElement('table', ['class' => 'detail-view table table-striped table-condensed']); $I->see('ID', 'th'); $I->see('5', 'td'); $I->see('Название', 'th'); $I->see('Тестовый купон', 'td'); $I->see('Код', 'th'); $I->see('test', 'td'); $I->see('Тип', 'th'); $I->see('Сумма', 'td'); $I->amGoingTo('delete coupon'); $I->amOnPage(self::BACKEND_COUPON_PATH . '/delete/5'); $I->expectTo('see an error message'); $I->see('Неверный запрос. Пожалуйста, больше не повторяйте такие запросы', '.alert-danger'); $I->amOnPage(self::BACKEND_COUPON_PATH); $I->expectTo('delete attr via ajax request'); $I->executeJS(' $.post( document.location.href + "/delete/5", {"YUPE_TOKEN":yupeToken} ); '); $I->wait(1); $I->reloadPage(); $I->seeLink('Купон1'); $I->seeLink('Купон2'); $I->seeLink('Купон3'); $I->seeLink('Купон4'); $I->dontSeeLink('Тестовый купон'); }
public function tryToTestDeliveryBackend(WebGuy $I, $scenario) { $I = new UserSteps($scenario); $I->loginAsAdminAndGoToThePanel(CommonPage::TEST_USER_NAME, CommonPage::TEST_PASSWORD); $I->am('administrator'); $I->wantToTest('store delivery backend'); $I->amOnPage(self::BACKEND_DELIVERY_PATH); $I->expectTo('see sidebar menu'); $I->seeLink('Управление способами доставки'); $I->seeLink('Добавить способ доставки'); $I->see('Способы доставки', 'h1'); $I->see('управление', 'small'); $I->expectTo('see delivery table'); $I->see('Элементы 1—4 из 4.', '.summary'); $I->seeElement('table', ['class' => 'items table table-condensed']); $I->see('Название', '.sort-link'); $I->see('Стоимость', '.sort-link'); $I->see('Бесплатна от', '.sort-link'); $I->see('Доступна от', '.sort-link'); $I->see('Статус', '.sort-link'); $I->seeLink('Самовывоз'); $I->seeLink('Курьером'); $I->seeLink('Транспортная компания'); $I->seeLink('Пункт выдачи'); $I->seeInPageSource('<a class="update btn btn-sm btn-default" title="" data-toggle="tooltip" href="/index-test.php/backend/delivery/delivery/update/1" data-original-title="Редактировать"'); $I->seeInPageSource('<a class="delete btn btn-sm btn-default" title="" data-toggle="tooltip" href="/index-test.php/backend/delivery/delivery/delete/1" data-original-title="Удалить"'); $I->amGoingTo('test delivery filter'); $I->seeElement('input', ['name' => 'Delivery[name]']); $I->seeElement('input', ['name' => 'Delivery[price]']); $I->seeElement('input', ['name' => 'Delivery[free_from]']); $I->seeElement('input', ['name' => 'Delivery[available_from]']); $I->seeElement('select', ['name' => 'Delivery[status]']); $I->fillField('Delivery[name]', 'Самовывоз'); $I->pressKey('#Delivery_name', WebDriverKeys::ENTER); $I->wait(1); $I->seeLink('Самовывоз'); $I->dontSeeLink('Курьером'); $I->dontSeeLink('Транспортная компания'); $I->dontSeeLink('Пункт выдачи'); $I->amOnPage(self::BACKEND_DELIVERY_PATH); $I->fillField('Delivery[price]', 700); $I->pressKey('#Delivery_price', WebDriverKeys::ENTER); $I->wait(1); $I->seeLink('Транспортная компания'); $I->dontSeeLink('Курьером'); $I->dontSeeLink('Самовывоз'); $I->dontSeeLink('Пункт выдачи'); $I->amOnPage(self::BACKEND_DELIVERY_PATH); $I->fillField('Delivery[free_from]', 30000); $I->pressKey('#Delivery_free_from', WebDriverKeys::ENTER); $I->wait(1); $I->seeLink('Курьером'); $I->dontSeeLink('Самовывоз'); $I->dontSeeLink('Транспортная компания'); $I->dontSeeLink('Пункт выдачи'); $I->amOnPage(self::BACKEND_DELIVERY_PATH); $I->fillField('Delivery[available_from]', 10000); $I->pressKey('#Delivery_available_from', WebDriverKeys::ENTER); $I->wait(1); $I->seeLink('Транспортная компания'); $I->dontSeeLink('Курьером'); $I->dontSeeLink('Самовывоз'); $I->dontSeeLink('Пункт выдачи'); $I->amOnPage(self::BACKEND_DELIVERY_PATH); $I->selectOption('Delivery[status]', 'Неактивен'); $I->wait(1); $I->seeLink('Пункт выдачи'); $I->dontSeeLink('Транспортная компания'); $I->dontSeeLink('Курьером'); $I->dontSeeLink('Самовывоз'); $I->amGoingTo('add a new delivery'); $I->amOnPage(self::BACKEND_DELIVERY_PATH . '/create'); $I->see('Способы доставки', 'h1'); $I->see('добавление', 'small'); $I->seeLink('Управление способами доставки'); $I->seeLink('Добавить способ доставки'); $I->seeOptionIsSelected('Delivery[status]', 'Активен'); $I->seeInField('Delivery[price]', '0.00'); $I->dontSeeCheckboxIsChecked('Delivery[separate_payment]'); $I->fillField('Delivery[name]', 'Почта России'); $I->fillField('Delivery[price]', 250); $I->click('Добавить доставку и закрыть'); $I->wait(1); $I->seeInCurrentUrl(self::BACKEND_DELIVERY_PATH); $I->see('Запись добавлена!', '.alert-success'); $I->seeLink('Почта России'); $I->amGoingTo('update delivery'); $I->amOnPage(self::BACKEND_DELIVERY_PATH . '/update/5'); $I->see('Редактирование способа доставки', 'h1'); $I->see('«Почта России»', 'small'); $I->expectTo('see sidebar menu'); $I->seeLink('Управление способами доставки'); $I->seeLink('Добавить способ доставки'); $I->seeLink('Редактировать способ доставки'); $I->seeLink('Удалить способ доставки'); $I->fillField('Delivery[price]', 123); $I->click('Сохранить доставку и закрыть'); $I->wait(1); $I->seeInCurrentUrl(self::BACKEND_DELIVERY_PATH); $I->see('Запись изменена!', '.alert-success'); $I->see('123.00', 'td'); $I->amGoingTo('test delete delivery'); $I->amOnPage(self::BACKEND_DELIVERY_PATH . '/delete/5'); $I->expectTo('see an error message'); $I->see('Неверный запрос. Пожалуйста, больше не повторяйте такие запросы', '.alert-danger'); $I->amOnPage(self::BACKEND_DELIVERY_PATH); $I->expectTo('delete attr via ajax request'); $I->executeJS(' $.post( document.location.href + "/delete/5", {"YUPE_TOKEN":yupeToken} ); '); $I->wait(1); $I->reloadPage(); $I->dontSeeLink('Почта России'); }
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('Телефоны'); }