Приложение Kanban состоит из двух основных функциональных возможностей:
- Поиск и фильтрация задач;
- Создание задачи;
Тесты были написаны с целью проверки роботоспособности API на корректность возвращаемых данных.
В файле tests/env.js Необходимо прописать адреса подключения к серверу.
├── tests/
│ ├── source/ # ресурсы с тестовыми данными
│ │ │── filters/ # варианты фильтров
│ │ │ ├── complex.json # прим. сложного фильтра
│ │ │ ├── simple.json # ...их может быть сколько угодно
│ ├── env.js/ # переменные окружения для логина в 3dexperience
│ ├── test.js/ # код тестов
Фильтр состоит из двух частей:
- Пользовательский
- Административный
Административный фильтр имеет возможность сохранения cвоих настроек на стороне сервера, но с точки зрения работоспособности фильтры работают одинаково и синхронно
Оба фильтра отправляют параметры в формате JSON одним файлом:
{
"t": "AND",
"o": [
{
"t": "EQ",
"p": "owner",
"v": "p:admin_platform"
}
]
}
А сервер присылает JS объект с задачами по одному объекту на один запрос по одной линии:
Цель теста проверить, удовлетворяют ли задачи пришедшие с сервера условиям в фильтре.
Чтобы сформировать JSON файл фильтра - необходимо сделать поиск тасков через административный или пользовательский фильтр.
JSON строка фильтра находится в отправляемом запросе во вкладке network в инструментах разработчика.
В приложении фильтры формируется в разных запросах, но для тестов это всегда один файл. Между пользовательским и администртивным фильтром всегда стоит логическое AND
JSON файлы для запроса хранятся в папке tests/source/filters
{
"t": "AND",
"o": [
{
// пользовательский фильтр
},
{
// административный фильтр
}
]
}
Создание задачи, добавления и удаления. Описываются в декларативном стиле в файле tests/test.js в тесте.
describe('Test different abilities with tasks'
Тесты запускаются через такую команду
npm run test