Загрузка данных


ПРАКТИЧЕСКОЕ ЗАДАНИЕ
Подготовка окружения в 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 Фактическое поведение
Приоритет (Высокий/Средний/Низкий)