コミットメタ情報

リビジョンf30f957448882d538be03fdc1e2ec1856ef95994 (tree)
日時2020-09-22 21:13:30
作者Dmitry Dobryshin <dimkainc@mail...>
コミッターDmitry Dobryshin

ログメッセージ

Добавлены тесты функционала на страницы site/index, site/contact, site/login, site/about, items/index, items/create, items/update, items/print

ned

変更サマリ

差分

--- /dev/null
+++ b/tests/functional/ItemsCreateCest.php
@@ -0,0 +1,59 @@
1+<?php
2+
3+use Codeception\Util\Locator;
4+
5+class ItemsCreateCest
6+{
7+ public function _before(\FunctionalTester $I)
8+ {
9+ $I->amOnRoute('items/create');
10+ }
11+
12+ // tests
13+ // Открыта страница добавления
14+ public function openCreatePage(\FunctionalTester $I)
15+ {
16+ $I->amOnPage([ 'items/create' ]);
17+ $I->see(Yii::t('items', 'Create Items'), 'h1');
18+ }
19+
20+ // Заполнение формы
21+ public function enterData(\FunctionalTester $I)
22+ {
23+ $I->submitForm('#ItemForm', [
24+ 'Items[type_id]' => '1',
25+ 'Items[name]' => 'TEST-WS-0001',
26+ 'Items[model]' => 'Тестовый компьютер',
27+ 'Items[os]' => 'Тестовая ОС',
28+ 'Items[mac]' => '00:00-MAC-:00:00',
29+ 'Items[serial]' => '*TEST SERIAL NUMBER*',
30+ 'Items[product]' => 'TEST PRODUCT',
31+ 'Items[modelnumber]' => 'TEST MODEL NUMBER',
32+ 'Items[invent]' => '*TEST INVENTORY NUMBER*',
33+ 'Items[comment]' => 'Тестирование. Это тестовая запись.',
34+ 'Moving[date]' => '01.01.2020',
35+ 'Moving[state_id]' => '1',
36+ 'Moving[location_id]' => '1',
37+ ]);
38+ $I->see(Yii::t('items', 'Items'), 'h1');
39+ $I->dontSee(Yii::t('items', 'Create Items'), 'h1');
40+ $I->haveInDatabase('items', ['name' => 'TEST-WS-0001', 'model' => 'Тестовый компьютер', 'serial' => '*TEST SERIAL NUMBER*', 'invent' => '*TEST INVENTORY NUMBER*']);
41+ }
42+
43+ // Нажатие на кнопку "Типы"
44+ public function pushTypes(\FunctionalTester $I)
45+ {
46+ $I->click(Locator::contains('div a', Yii::t('types', 'Types')));
47+ $I->seeResponseCodeIs(\Codeception\Util\HttpCode::OK);
48+ $I->see(Yii::t('types', 'Types'), 'h1');
49+ }
50+
51+ // Нажатие на кнопку "Места размещения"
52+ public function pushLocations(\FunctionalTester $I)
53+ {
54+ $I->click(Locator::contains('div a', Yii::t('locations', 'Locations')));
55+ $I->seeResponseCodeIs(\Codeception\Util\HttpCode::OK);
56+ $I->see(Yii::t('locations', 'Locations'), 'h1');
57+ }
58+
59+}
--- /dev/null
+++ b/tests/functional/ItemsIndexCest.php
@@ -0,0 +1,82 @@
1+<?php
2+
3+use Codeception\Util\Locator;
4+
5+class ItemsIndexCest
6+{
7+ // Страница Items
8+ public function _before(\FunctionalTester $I)
9+ {
10+ $I->amOnPage(['items/index']);
11+ }
12+
13+ // Есть заголовок
14+ public function openItemsPage(\FunctionalTester $I)
15+ {
16+ $I->see(Yii::t('items', 'Items'), 'h1');
17+ }
18+
19+ // Переход к странице добавления
20+ public function pushCreateItem(\FunctionalTester $I)
21+ {
22+ $I->click(Locator::contains('div a', Yii::t('items', 'Create Items')));
23+ $I->see(Yii::t('items', 'Create Items'), 'h1');
24+ }
25+
26+ // Переход к странице импорта
27+ public function pushImportItems(\FunctionalTester $I)
28+ {
29+ $I->click(Locator::contains('div a', Yii::t('items', 'Import')));
30+ $I->see(Yii::t('items', 'Import Items'), 'h1');
31+ }
32+
33+ // Формирование печатной формы PDF
34+ public function moveToPrintItemsCheck(\FunctionalTester $I)
35+ {
36+ $I->click(Locator::contains('div a', Yii::t('items', 'Print Items')));
37+ $I->seeResponseCodeIs(\Codeception\Util\HttpCode::OK);
38+
39+ // Этот участок кода пока не понятно как включить, но функционал обязательно добавлю.
40+ // Точно .pdf
41+ //$I->canSeeHttpHeader('Content-type', 'application/pdf');
42+ //$I->canSeeHttpHeader('Content-disposition', 'attachment; filename="' . Yii::t('app', Yii::$app->name) . ' (' . Yii::t('items', 'Items') . ').pdf"');
43+ $I->see('%PDF');
44+
45+ // Не пустой документ
46+ //$I->canSeeHttpHeader('Content-length', '1024');
47+ // или
48+ //$actualLength= $I->grabHttpHeader('Content-length');
49+ //$I->assertGreaterThan(1024, $actualLength);
50+ }
51+
52+ // Начало инвентаризации
53+ public function startInventoryCheck(\FunctionalTester $I)
54+ {
55+ $I->click(Locator::contains('div a', Yii::t('items', 'Start checking')));
56+ $I->seeResponseCodeIs(\Codeception\Util\HttpCode::OK);
57+ $I->see('', 'tr.danger');
58+ }
59+
60+ //* // Нажатие на кнопку "Удалить"
61+ public function deleteItemCheck(\FunctionalTester $I)
62+ {
63+ $I->click(Locator::find('a', [ 'title' => Yii::t('yii', 'Delete') ]));
64+ $I->seeResponseCodeIs(405);
65+ //$I->see(Yii::t('yii', 'Are you sure you want to delete this item?'));
66+ } // */
67+
68+ // Печать отдельной наклейки
69+ public function printItemCheck(\FunctionalTester $I)
70+ {
71+ $I->click(Locator::find('a', [ 'title' => Yii::t('items', 'Print selected labels') ]));
72+ $I->seeResponseCodeIs(\Codeception\Util\HttpCode::OK);
73+ $I->see('%PDF');
74+ }
75+
76+ // переход к редактированию элемента
77+ public function clickItemCheck(\FunctionalTester $I)
78+ {
79+ $I->click(Locator::contains('tr td a', ''));
80+ $I->see(Yii::t('items', 'Update Items: {name}', [ 'name' => '', ]), 'h1');
81+ }
82+}
--- /dev/null
+++ b/tests/functional/ItemsUpdateCest.php
@@ -0,0 +1,38 @@
1+<?php
2+
3+use Codeception\Util\Locator;
4+
5+class ItemsUpdateCest
6+{
7+ public function _before(\FunctionalTester $I)
8+ {
9+ $I->amOnRoute('items/Update');
10+ }
11+
12+ // tests
13+ // Открыта страница добавления
14+ public function openCreatePage(\FunctionalTester $I)
15+ {
16+ $I->amOnRoute('items/update', [ 'id' => '1' ]);
17+ $I->see(Yii::t('items', 'Update Items: {name}', ['name' => '',]), 'h1');
18+ }
19+
20+ // Заполнение формы
21+ public function enterData(\FunctionalTester $I)
22+ {
23+ $I->amOnRoute('items/update', ['id' => '1']);
24+ $I->submitForm('#ItemForm', []);
25+ $I->see(Yii::t('items', 'Items'), 'h1');
26+ $I->dontSee(Yii::t('items', 'Update Items: {name}', ['name' => '',]), 'h1');
27+ }
28+
29+ // Нажатие на кнопку "Типы"
30+ public function pushTypes(\FunctionalTester $I)
31+ {
32+ $I->amOnRoute('items/update', ['id' => '1']);
33+ $I->click(Locator::contains('div a', Yii::t('types', 'Types')));
34+ $I->seeResponseCodeIs(\Codeception\Util\HttpCode::OK);
35+ $I->see(Yii::t('types', 'Types'), 'h1');
36+ }
37+
38+}
旧リポジトリブラウザで表示