ПРАКТИЧЕСКОЕ ЗАДАНИЕ
Подготовка окружения в Postman
1. Создайте Environment с именем API_Testing.
2. Добавьте следующие переменные (изначально пустые)
Переменная Назначение
baseUrl Базовый URL API (http://herrbnn-m1.vgppkweb.loc/)
token JWT-токен (заполняется автоматически после логина)
clientId Ваш уникальный ID клиента (например, student-ivanov)
email Email для регистрации/логина
password Пароль (мин. 8 символов, 1 цифра, 1 спецсимвол)
boardId ID созданной доски
objectId ID созданного объекта
hash Хеш публичной доски
В Headers каждого запроса обязательно укажите:
ClientId: {{clientId}}
Задание 1: Аутентификация и профиль
Регистрация POST /api/v1/register
o Проверьте валидацию пароля: отправьте слабый пароль → убедитесь, что сервер вернет 422.
o Отправьте корректные данные. В ответе сохраните data.token в переменную {{token}} (используйте вкладку Tests):
pm.environment.set("token", pm.response.json().data.token);
Логин POST /api/v1/login
o Авторизуйтесь с теми же данными. Проверьте, что токен совпадает.
Профиль GET /api/v1/user
o Добавьте заголовок Authorization: Bearer {{token}}.
o Убедитесь, что возвращается id, name, email, created_at.
Задание 2: CRUD досок
1. Создать доску POST /api/v1/boards
o Тело: { "title": "Тестовая доска студента" }
o Сохраните id из ответа в {{boardId}}.
2. Получить свои доски GET /api/v1/boards
o Проверьте наличие my_boards и shared_boards.
3. Обновить доску PUT /api/v1/boards/{{boardId}}
o Измените title. Проверьте ответ 200.
4. Пригласить пользователя POST /api/v1/boards/{{boardId}}/invite
o Отправьте валидный email. Проверьте статус.
5. Сделать доску публичной POST /api/v1/boards/{{boardId}}/share
o Сохраните hash из ответа в {{hash}}.
Задание 3: Объекты и блокировки
1. Создать объект POST /api/v1/boards/{{boardId}}/objects
o Тип: text, данные: x, y, width, height, text, fontSize, color.
o Сохраните id объекта в {{objectId}}.
2. Заблокировать объект POST /api/v1/boards/{{boardId}}/objects/{{objectId}}/focus
o Проверьте, что объект перешел в состояние редактирования.
3. Обновить объект PUT /api/v1/boards/{{boardId}}/objects/{{objectId}}
o Измените координаты или текст.
4. Разблокировать объект POST /api/v1/boards/{{boardId}}/objects/{{objectId}}/blur
5. Удалить объект DELETE /api/v1/boards/{{boardId}}/objects/{{objectId}}
Задание 4: Публичный доступ и лайки
1. Поставить лайк POST /api/v1/boards/{{boardId}}/like
o Выполните без заголовка Authorization. Проверьте 200.
2. Получить публичную доску по хешу GET /api/v1/board/{{hash}}
o Выполните без токена. Убедитесь, что данные возвращаются.
Задание 6: Негативное тестирование
Протестируйте минимум 5 сценариев:
• Запрос с просроченным/неверным токеном → 401
• Запрос без ClientId → 400/403
• Удаление доски, которая вам не принадлежит → 403
• Создание объекта с невалидным JSON → 422
• Попытка повторной регистрации на тот же email → 409/422
1. В отчете необходимо предоставить таблицу тестовых случаев:
Эндпоинт Метод Ожидаемый статус Фактический статус Результат Комментарий / Скриншот
/register POST 201 201 успех Токен сохранен в env
/boards POST 200 200 успех boardId сохранен
2. Баг-репорт (если найдено):
Заголовок бага
Шаги воспроизведения
Ожидаемое vs Фактическое поведение
Приоритет (Высокий/Средний/Низкий)