예제 #1
0
파일: FeedBackCest.php 프로젝트: yupe/yupe
 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);
     }
 }
예제 #2
0
 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('Почта России');
 }