Skip to content

Commit

Permalink
25-08-2022 - Запилил функциональное тестирование детальных страниц то…
Browse files Browse the repository at this point in the history
…рговцев (Проблема была в отсутствии фикстур)
  • Loading branch information
PC-Principal committed Aug 25, 2022
1 parent 695e150 commit 8deac8f
Show file tree
Hide file tree
Showing 6 changed files with 101 additions and 13 deletions.
4 changes: 2 additions & 2 deletions tests/_bootstrap.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
defined('YII_DEBUG') or define('YII_DEBUG', true);

require_once __DIR__ . '/../vendor/yiisoft/yii2/Yii.php';
require __DIR__ .'/../vendor/autoload.php';
require_once(__DIR__ . '/../config/bootstrap.php');
require __DIR__ . '/../vendor/autoload.php';
require __DIR__ . '/../config/bootstrap.php';
21 changes: 21 additions & 0 deletions tests/_data/info.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?php
/**
* Created by PhpStorm.
* User: PC_Principal
* Date: 25.08.2022
* Time: 23:18
*
* Фикстуры для таблицы Info (Нужны в функциональном тестировании)
*/

return [
[
'id' => 2,
'title' => 'Сообщение пользователям на сайт',
'content' => 'Доступна карта локации Terra Group - <a href="https://tarkov-wiki.ru/maps/terragroup-laboratory-location#1/-11/163" target="_blank">перейти к карте</a>. Сайт находится на стадии <b>глобальной актуализации информации</b>. Если вы заметите неточную или устаревшую информацию - просьба написать об этом в комментариях под обсуждаемым материалом.',
'preview' => null,
'enabled' => 0,
'course' => null,
'bgstyle' => 'tarkov-good'
]
];
26 changes: 26 additions & 0 deletions tests/_data/traders.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?php
/**
* Created by PhpStorm.
* User: PC_Principal
* Date: 25.08.2022
* Time: 23:05
*
* Фикстура торговца для функциональных тестов
*/
return [
[
'title' => 'Прапор',
'preview' => '/img/admin/resized/p2240218062615.jpg',
'urltoquets' => '/quests-of-traders/prapor-quests',
'button_quests' => 'Перейти в раздел квестов Прапора',
'button_detail' => 'Перейти в раздел Прапора',
'bg_style' => 'interback-white',
'enabled' => 1,
'content' => '<p><span style="font-size:16px">Прапор выдает довольного много квестов а также торгует оружием. У прапора в Escape from Tarkov вы сможете купить автоматы калашникова, снайперскую винтовку СВ-98, укороченные автоматы АКС-У пистолеты и пистолеты-пулеметы, также Прапор продает гранаты. Репутацию с Прапором необходимо прокачивать в первую очередь, т.к. большую часть оружия вы будете покупать именно у него, кроме всего прочего ему, также можно продавать оружие и пистолеты.</span></p><p><span style="font-size:16px">У Прапора нет сложных квестов, в основном все его задания подразумевают убийство Диких и поиск различных квестовых предметов на карте, большую часть квестов вы сможете пройти в одиночку без посторонней помощи.</span></p>',
'sortir' => 1,
'fullcontent' => '',
'description' => 'Прапор. Escape from Tarkov.',
'keywords' => 'Прапор из Escape from Tarkov, Что продаёт Прапор в Escape from Tarkov, все о торговце Прапоре.',
'url' => 'prapor'
]
];
15 changes: 15 additions & 0 deletions tests/fixtures/InfoFixture.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?php
/**
* Created by PhpStorm.
* User: PC_Principal
* Date: 25.08.2022
* Time: 23:17
*
* Фикстура для Инфо Виджета
*/

namespace app\tests\fixtures;

class InfoFixture extends \yii\test\ActiveFixture {
public $modelClass = 'app\models\Info';
}
15 changes: 15 additions & 0 deletions tests/fixtures/TradersFixture.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?php
/**
* Created by PhpStorm.
* User: PC_Principal
* Date: 25.08.2022
* Time: 23:03
*
* Фикстура торговца для функционального теста детальной страницы торговца
*/

namespace app\tests\fixtures;

class TradersFixture extends \yii\test\ActiveFixture {
public $modelClass = 'app\models\Traders';
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@

namespace Tests\Functional;

use app\controllers\TraderController;
use app\tests\fixtures\TradersFixture;
use app\tests\fixtures\InfoFixture;

/**
* Функциональные тесты страницы детальных торговцев
Expand All @@ -18,11 +19,28 @@
*/
class TraderCest
{
/**
* Грузим фикстуры торговца и инфовиджета, т.к. без них тесты не отработают (ActiveRecord)
*
* @return array
*/
public function _fixtures() {
return [
'traders' => [
'class' => TradersFixture::class,
'dataFile' => codecept_data_dir() . 'traders.php'
],
'info' => [
'class' => InfoFixture::class,
'dataFile' => codecept_data_dir() . 'info.php'
]
];
}

/** Мы на странице Прапора */
public function _before(\FunctionalTester $I)
{
// todo: Проблема
$I->amOnRoute('/traders/prapor');
$I->amOnRoute('traders/prapor');
}

/** Мы видим что все метатеги в head присутствуют и соответствуют нашим стандартам */
Expand Down Expand Up @@ -86,7 +104,7 @@ public function checkMenuLinks(\FunctionalTester $I)
/** Проверяем активность пункта навигации, для текущей страницы */
public function checkCurrentPageLinkActive(\FunctionalTester $I)
{
$I->seeLink('<b>Торговцы</b><span class="caret"></span>', '#');
$I->seeElement('.dropdown-toggle.active');
}

/**
Expand All @@ -100,7 +118,6 @@ public function checkPageMainData(\FunctionalTester $I)

$I->seeElement('.news-shortitem.bg-white');
$I->seeElement('.barters-block');
$I->seeElement('.tab-content');

$I->seeLink('Вернуться к списку торговцев','/quests-of-traders');
$I->seeLink('Перейти в раздел квестов Прапора','/quests-of-traders/prapor-quests');
Expand All @@ -118,10 +135,4 @@ public function checkOverlayBlock(\FunctionalTester $I)
$I->SeeElement('.overlay-block');
}

/** Мы видим что все блоки с рекламой присутствуют на странице */
public function checkOtherAdsBlocks(\FunctionalTester $I)
{
$I->seeElement('.no-adb');
}

}

0 comments on commit 8deac8f

Please sign in to comment.