コード例 #1
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 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('*****@*****.**');
 }
コード例 #2
0
ファイル: StoreAttributeCest.php プロジェクト: yupe/yupe
 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('Ширина');
 }
コード例 #3
0
ファイル: StoreOrderCest.php プロジェクト: yupe/yupe
 public function tryToTestOrderStatusBackend(WebGuy $I, $scenario)
 {
     $I->wantToTest('order status');
     $I = new UserSteps($scenario);
     $I->loginAsAdminAndGoToThePanel(CommonPage::TEST_USER_NAME, CommonPage::TEST_PASSWORD);
     $I->am('administrator');
     $I->amOnPage(self::BACKEND_ORDER_STATUS_PATH);
     $I->see('Статусы заказа', 'h1');
     $I->see('управление', 'small');
     $I->expectTo('see sidebar menu');
     $I->seeLink('Все заказы');
     $I->seeLink('Добавить заказ');
     $I->seeLink('Статусы заказов');
     $I->seeLink('Добавить статус');
     $I->expectTo('see order status table');
     $I->see('Элементы 1—4 из 4.', '.summary');
     $I->see('Добавить', '.btn-success');
     $I->see('Удалить', '#delete-orderstatus');
     $I->see('№', '.sort-link');
     $I->see('Название', '.sort-link');
     $I->see('Новый', '.label-default');
     $I->see('Принят', '.label-info');
     $I->see('Выполнен', '.label-success');
     $I->see('Удален', '.label-danger');
     $I->amGoingTo('test status filter');
     $I->seeElement('input', ['name' => 'OrderStatus[name]']);
     $I->fillField('OrderStatus[name]', 'Новый');
     $I->pressKey('#OrderStatus_name', WebDriverKeys::ENTER);
     $I->wait(1);
     $I->see('Новый', '.label-default');
     $I->dontSee('Принят', '.label-info');
     $I->dontSee('Выполнен', '.label-success');
     $I->dontSee('Удален', '.label-danger');
     $I->amGoingTo('add a new status');
     $I->amOnPage(self::BACKEND_ORDER_STATUS_PATH . '/create');
     $I->see('Статусы заказа', 'h1');
     $I->see('добавление', 'small');
     $I->seeLink('Все заказы');
     $I->seeLink('Добавить заказ');
     $I->seeLink('Статусы заказов');
     $I->seeLink('Добавить статус');
     $I->seeElement('input', ['name' => 'OrderStatus[name]']);
     $I->amGoingTo('send form without data');
     $I->expectTo('see validation error');
     $I->click('Добавить статус и продолжить');
     $I->see('Необходимо заполнить поле «Название».', '.error');
     $I->fillField('OrderStatus[name]', 'Отменен');
     $I->click('Добавить статус и закрыть');
     $I->wait(1);
     $I->seeInCurrentUrl(self::BACKEND_ORDER_STATUS_PATH);
     $I->see('Запись добавлена!', '.alert-success');
     $I->see('Отменен', 'td');
     $I->amGoingTo('update system status');
     $I->expectTo('see error');
     $I->amOnPage(self::BACKEND_ORDER_STATUS_PATH . '/update/1');
     $I->see('Ошибка 404!', 'h2');
     $I->amGoingTo('update status');
     $I->amOnPage(self::BACKEND_ORDER_STATUS_PATH . '/update/5');
     $I->seeInField('OrderStatus[name]', 'Отменен');
     $I->fillField('OrderStatus[name]', 'Изменен');
     $I->click('Сохранить статус и закрыть');
     $I->wait(1);
     $I->seeInCurrentUrl(self::BACKEND_ORDER_STATUS_PATH);
     $I->see('Запись изменена!', '.alert-success');
     $I->see('Изменен', 'td');
     $I->amGoingTo('delete status');
     $I->amOnPage(self::BACKEND_ORDER_STATUS_PATH . '/delete/5');
     $I->expectTo('see an error message');
     $I->see('Неверный запрос. Пожалуйста, больше не повторяйте такие запросы', '.alert-danger');
     $I->amOnPage(self::BACKEND_ORDER_STATUS_PATH);
     $I->expectTo('delete status via ajax request');
     $I->executeJS('
         $.post(
             document.location.href + "/delete/5",
             {"YUPE_TOKEN":yupeToken}
         );
     ');
     $I->wait(1);
     $I->reloadPage();
     $I->dontSee('Изменен', 'td');
 }
コード例 #4
0
ファイル: StoreProductCest.php プロジェクト: yupe/yupe
 public function tryToTestBackendProductCreate(WebGuy $I, $scenario)
 {
     $I->wantTo('create product');
     $I = new UserSteps($scenario);
     $I->loginAsAdminAndGoToThePanel(CommonPage::TEST_USER_NAME, CommonPage::TEST_PASSWORD);
     $I->am('administrator');
     $I->amOnPage(self::BACKEND_PRODUCT_PATH . '/create');
     $I->see('Товары', 'h1');
     $I->see('добавление', 'small');
     $I->expectTo('see sidebar menu');
     $I->seeLink('Все товары');
     $I->seeLink('Добавить товар');
     $I->expectTo('see required fields validation errors');
     $I->click('Добавить товар и закрыть');
     $I->see('Необходимо заполнить поле «Название»', '.error');
     $I->see('Необходимо заполнить поле «Алиас»', '.error');
     $I->fillField('Product[sku]', 'TST6');
     $I->seeOptionIsSelected('Product[status]', 'Доступен');
     $I->selectOption('Product[category_id]', 'Клавиатуры');
     $I->selectOption('Product[producer_id]', 'A4Tech');
     $I->fillField('Product[name]', 'A4Tech Bloody B740 White USB');
     $I->wait(1);
     $I->seeInField('Product[slug]', 'a4tech-bloody-b740-white-usb');
     $I->fillField('Product[price]', 7000);
     $I->fillField('Product[discount]', 5);
     $I->click('//*[@id="content"]/ul[@class="nav nav-tabs"]/li[2]/a');
     $I->selectOption('Product[type_id]', 'Клавиатуры');
     $I->wait(1);
     $I->see('Тип клавиатуры', 'label');
     $I->selectOption('Attribute[3]', 'механическая');
     $I->click('Склад');
     $I->seeOptionIsSelected('Product[in_stock]', 'В наличии');
     $I->fillField('Product[quantity]', 1);
     $I->fillField('Product[length]', 101);
     $I->fillField('Product[width]', 102);
     $I->fillField('Product[height]', 103);
     $I->fillField('Product[weight]', 104);
     $I->click('SEO');
     $I->fillField('Product[title]', 'A4Tech Bloody. Заголовок h1');
     $I->fillField('Product[meta_title]', 'A4Tech Bloody. Заголовок страницы');
     $I->fillField('Product[meta_keywords]', 'A4Tech Bloody. Meta-keywords');
     $I->fillField('Product[meta_description]', 'A4Tech Bloody. Meta-description');
     $I->click('Связанные товары');
     $I->see('Сначала необходимо сохранить товар.');
     $I->click('Добавить товар и закрыть');
     $I->seeInCurrentUrl(self::BACKEND_PRODUCT_PATH);
     $I->see('Запись добавлена!', '.alert-success');
     $I->seeLink('A4Tech Bloody B740 White USB');
     $I->amOnPage(self::BACKEND_PRODUCT_PATH . '/view/6');
     $I->see('Просмотр товара', 'h1');
     $I->see('«A4Tech Bloody B740 White USB»', 'small');
     $I->see('Тип', 'th');
     $I->see('Клавиатуры', 'td');
     $I->see('Название', 'th');
     $I->see('A4Tech Bloody B740 White USB', 'td');
     $I->see('Цена', 'th');
     $I->see('7000.000', 'td');
     $I->see('Статус', 'th');
     $I->see('Доступен', 'td');
     $I->see('Длина, м.', 'th');
     $I->see('101.000', 'td');
     $I->see('Ширина, м.', 'th');
     $I->see('102.000', 'td');
     $I->see('Высота, м.', 'th');
     $I->see('103.000', 'td');
     $I->see('Вес, кг.', 'th');
     $I->see('104.000', 'td');
     $I->see('Количество', 'th');
     $I->see('1', 'td');
     $I->amOnPage(self::FRONTEND_PRODUCT_PATH);
     $I->seeLink('A4Tech Bloody B740 White USB');
 }
コード例 #5
0
ファイル: MainBackendCest.php プロジェクト: alextravin/yupe
 public function tryToTestMainBackend(WebGuy $I, $scenario)
 {
     $I = new UserSteps($scenario);
     $I->am('guest user');
     $I->amGoingTo('try access to admin area');
     $I->amOnPage(CommonPage::PANEL_URL . 'login');
     $I->seeInCurrentUrl('/backend/login');
     $I->see('Пожалуйста, авторизуйтесь');
     $I->fillField('LoginForm[password]', 'wrong password');
     $I->fillField('LoginForm[email]', CommonPage::TEST_USER_NAME);
     $I->click('Войти');
     $I->see('Email или пароль введены неверно!', CommonPage::ERROR_CSS_CLASS);
     $I->fillField('LoginForm[password]', CommonPage::TEST_PASSWORD);
     $I->click('Войти');
     //$I->see('Вы успешно авторизовались!', CommonPage::SUCCESS_CSS_CLASS);
     $I->amOnPage(CommonPage::PANEL_URL);
     $I->see('Панель управления "Юпи!"', 'h1');
     //simple check all modules
     $I->amGoingTo('simple test all modules page');
     $I->amOnPage('/backend/news/news');
     $I->see('Новости', 'h1');
     $I->amOnPage('/backend/page/page');
     $I->see('Страницы', 'h1');
     $I->amOnPage('/backend/image/image');
     $I->see('Изображения', 'h1');
     $I->amOnPage('/backend/gallery/gallery');
     $I->see('Галереи', 'h1');
     $I->amOnPage('/backend/comment/comment');
     $I->see('Комментарии', 'h1');
     $I->amOnPage('/backend/contentblock/contentBlock');
     $I->see('Блоки контента');
     $I->amOnPage('/backend/menu/menu');
     $I->see('Меню', 'h1');
     $I->amOnPage('/backend/menu/menuitem');
     $I->see('Пункты меню');
     $I->amOnPage('/backend/dictionary/dictionary');
     $I->see('Справочники', 'h1');
     $I->amOnPage('/backend/dictionary/dictionaryData');
     $I->see('Значения справочников', 'h1');
     $I->amOnPage('/backend/category/category');
     $I->see('Категории', 'h1');
     $I->amOnPage('/backend/queue/queue');
     $I->see('Задания', 'h1');
     $I->amOnPage('/backend/mail/event');
     $I->see('Почтовые события', 'h1');
     $I->amOnPage('/backend/mail/template');
     $I->see('Почтовые шаблоны', 'h1');
     $I->amOnPage('/backend/feedback/feedback');
     $I->see('Сообщения', 'h1');
     $I->amOnPage('/backend/user/user');
     $I->see('Пользователи', 'h1');
     $I->amGoingTo('change backend language');
     $I->amOnPage('/en/backend');
     $I->see('Control panel "Yupe!"', 'h1');
     $I->amOnPage('/ru/backend');
     $I->see('Панель управления "Юпи!"', 'h1');
     $I->amOnPage('/en/backend');
     $I->see('Control panel "Yupe!"', 'h1');
     $I->amOnPage('/ru/backend');
     $I->see('Панель управления "Юпи!"', 'h1');
     $I->amGoingTo('change theme settings');
     $I->amOnPage('/backend/themesettings');
     $I->click('Сохранить настройки тем оформления');
     $I->see('Настройки темы успешно сохранены!', CommonPage::SUCCESS_CSS_CLASS);
     $I->amGoingTo('change module settings');
     $I->amOnPage('/backend/modulesettings?module=yupe');
     $I->fillField('siteDescription', 'Changed site description!');
     $I->click('Сохранить настройки модуля "Юпи!"');
     $I->see('Настройки модуля "Юпи!" сохранены!', CommonPage::SUCCESS_CSS_CLASS);
     $I->seeInField('siteDescription', 'Changed site description!');
     $I->amGoingTo('test modules page');
     $I->amOnPage('/backend/settings');
     $I->see('Модули', 'h1');
     $I->seeLink('Юпи! (yupe)', '/backend/settings');
     $I->seeLink('Пользователи (user)', '/backend/user/user');
     //$I->amGoingTo('disable catalog module');
     //$I->clickWithRightButton("[module='catalog']");
     //$I->see('Вы уверены, что хотите отключить модуль?','.modal-body');
 }
コード例 #6
0
ファイル: StoreBrandCest.php プロジェクト: yupe/yupe
 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');
 }
コード例 #7
0
ファイル: StoreDeliveryCest.php プロジェクト: yupe/yupe
 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('Почта России');
 }
コード例 #8
0
ファイル: StoreCategoryCest.php プロジェクト: yupe/yupe
 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('Телефоны');
 }