export const TEST_CHECKLIST_ITEMS = Object.freeze([
  // Авторизация
  {
    key: "auth.register-email",
    section: "Авторизация",
    action: "Зарегистрироваться по email",
    expectedResult: "Код приходит на почту, аккаунт создаётся",
  },
  {
    key: "auth.login-password",
    section: "Авторизация",
    action: "Войти по паролю",
    expectedResult: "Корректный пароль пускает, неправильный — ошибка",
  },
  {
    key: "auth.oauth-vk",
    section: "Авторизация",
    action: "Войти через OAuth VK",
    expectedResult: "Редирект на VK, callback, авторизация успешна",
  },
  {
    key: "auth.oauth-yandex",
    section: "Авторизация",
    action: "Войти через OAuth Yandex",
    expectedResult: "Редирект на Yandex, callback, авторизация успешна",
  },
  {
    key: "auth.reset-password",
    section: "Авторизация",
    action: "Сбросить пароль",
    expectedResult: "Письмо приходит, ссылка работает, пароль меняется",
  },
  {
    key: "auth.logout",
    section: "Авторизация",
    action: "Выйти из аккаунта",
    expectedResult: "Сессия очищается, редирект на страницу входа",
  },

  // Каталог и товары
  {
    key: "catalog.homepage",
    section: "Каталог и товары",
    action: "Открыть главную страницу",
    expectedResult: "Слайдер грузится, товары отображаются",
  },
  {
    key: "catalog.filters",
    section: "Каталог и товары",
    action: "Применить фильтры",
    expectedResult: "Фильтры по категории, цене, материалам работают",
  },
  {
    key: "catalog.product-page",
    section: "Каталог и товары",
    action: "Открыть страницу товара",
    expectedResult: 'Фото, описание, цена, кнопка "В корзину" отображаются',
  },
  {
    key: "catalog.seo",
    section: "Каталог и товары",
    action: "Проверить SEO-метаданные",
    expectedResult: "Title, meta, slug корректные",
  },

  // Корзина
  {
    key: "cart.add",
    section: "Корзина",
    action: "Добавить товар в корзину",
    expectedResult: "Счётчик корзины обновляется",
  },
  {
    key: "cart.change-qty",
    section: "Корзина",
    action: "Изменить количество товара",
    expectedResult: "Сумма пересчитывается",
  },
  {
    key: "cart.remove",
    section: "Корзина",
    action: "Удалить товар из корзины",
    expectedResult: "Товар убирается, сумма пересчитывается",
  },

  // Чекаут
  {
    key: "checkout.address",
    section: "Чекаут",
    action: "Выбрать адрес доставки",
    expectedResult: "Можно выбрать из сохранённых или добавить новый",
  },
  {
    key: "checkout.delivery",
    section: "Чекаут",
    action: "Выбрать способ доставки",
    expectedResult: "Почта, OZON, Яндекс, 5post — доступны",
  },
  {
    key: "checkout.payment",
    section: "Чекаут",
    action: "Выбрать способ оплаты",
    expectedResult: "Онлайн / при получении — доступны",
  },
  {
    key: "checkout.comment",
    section: "Чекаут",
    action: "Добавить комментарий к заказу",
    expectedResult: "Поле работает, текст сохраняется",
  },
  {
    key: "checkout.create",
    section: "Чекаут",
    action: "Создать заказ",
    expectedResult: "Заказ создаётся, статус DRAFT",
  },

  // Оплата
  {
    key: "payment.yookassa",
    section: "Оплата",
    action: "Оплатить через ЮKassa",
    expectedResult: "Редирект на оплату, webhook обрабатывается",
  },
  {
    key: "payment.status",
    section: "Оплата",
    action: "Проверить статус платежа",
    expectedResult: "Статус обновляется после webhook",
  },

  // Профиль пользователя
  {
    key: "profile.avatar",
    section: "Профиль пользователя",
    action: "Управление аватаром",
    expectedResult: "Загрузка, отображение, удаление работают",
  },
  {
    key: "profile.settings",
    section: "Профиль пользователя",
    action: "Изменить настройки профиля",
    expectedResult: "Email, имя, способы входа обновляются",
  },
  {
    key: "profile.addresses",
    section: "Профиль пользователя",
    action: "Управление адресами",
    expectedResult: "Добавление, редактирование, удаление, по умолчанию",
  },
  {
    key: "profile.orders",
    section: "Профиль пользователя",
    action: "Просмотр заказов",
    expectedResult: "Список, детали, статусы отображаются",
  },
  {
    key: "profile.messages",
    section: "Профиль пользователя",
    action: "Сообщения по заказу",
    expectedResult: "Отправка, получение, read state работают",
  },
  {
    key: "profile.notifications",
    section: "Профиль пользователя",
    action: "Настройки уведомлений",
    expectedResult: "Вкл/выкл каналов работают",
  },
  {
    key: "profile.delete-account",
    section: "Профиль пользователя",
    action: "Удалить аккаунт",
    expectedResult: "Данные удаляются",
  },

  // Админ — Товары
  {
    key: "admin-products.list",
    section: "Админ — Товары",
    action: "Открыть список товаров",
    expectedResult: "Пагинация, поиск работают",
  },
  {
    key: "admin-products.create",
    section: "Админ — Товары",
    action: "Создать товар",
    expectedResult:
      "Все поля сохраняются, фото загружаются, публикация работает",
  },
  {
    key: "admin-products.edit",
    section: "Админ — Товары",
    action: "Редактировать товар",
    expectedResult: "Изменения сохраняются",
  },
  {
    key: "admin-products.delete",
    section: "Админ — Товары",
    action: "Удалить товар",
    expectedResult: "Товар удаляется",
  },
  {
    key: "admin-products.images",
    section: "Админ — Товары",
    action: "Управление изображениями товара",
    expectedResult: "Добавление, сортировка, удаление работают",
  },

  // Админ — Категории
  {
    key: "admin-categories.crud",
    section: "Админ — Категории",
    action: "CRUD категорий",
    expectedResult: "Создание, редактирование, удаление, сортировка работают",
  },

  // Админ — Заказы
  {
    key: "admin-orders.list",
    section: "Админ — Заказы",
    action: "Открыть список заказов",
    expectedResult: "Фильтрация по статусу, внимание отображается",
  },
  {
    key: "admin-orders.details",
    section: "Админ — Заказы",
    action: "Открыть детали заказа",
    expectedResult: "Состав, статус, смена статуса работают",
  },
  {
    key: "admin-orders.messages",
    section: "Админ — Заказы",
    action: "Ответить на сообщение заказа",
    expectedResult: "Сообщение отправляется пользователю",
  },

  // Админ — Отзывы
  {
    key: "admin-reviews.list",
    section: "Админ — Отзывы",
    action: "Открыть список отзывов",
    expectedResult: "Фильтрация pending/approved/rejected работает",
  },
  {
    key: "admin-reviews.moderate",
    section: "Админ — Отзывы",
    action: "Модерировать отзыв",
    expectedResult: "Approve/reject работают",
  },

  // Админ — Пользователи
  {
    key: "admin-users.list",
    section: "Админ — Пользователи",
    action: "Открыть список пользователей",
    expectedResult: "Email, дата регистрации отображаются",
  },
  {
    key: "admin-users.orders",
    section: "Админ — Пользователи",
    action: "Просмотр заказов пользователя",
    expectedResult: "Заказы пользователя отображаются",
  },

  // Админ — Галерея
  {
    key: "admin-gallery.upload",
    section: "Админ — Галерея",
    action: "Управление галереей",
    expectedResult: "Загрузка, удаление, использование в слайдере работают",
  },

  // Админ — Настройки
  {
    key: "admin-settings.notifications",
    section: "Админ — Настройки",
    action: "Настройки уведомлений админа",
    expectedResult: "Email, telegram настраиваются",
  },

  // Инфо-страницы
  {
    key: "info.pages",
    section: "Инфо-страницы",
    action: "Открыть инфо-страницы",
    expectedResult:
      "Доставка, оплата, как заказать, статусы заказов отображаются",
  },
  {
    key: "info.legal",
    section: "Инфо-страницы",
    action: "Открыть юридические страницы",
    expectedResult:
      "Политика конфиденциальности, условия использования отображаются",
  },

  // SSE / Realtime
  {
    key: "sse.notifications",
    section: "SSE / Realtime",
    action: "Проверить SSE-уведомления",
    expectedResult: "Уведомления приходят в реальном времени",
  },
]);
