# Итоговый проект: технический пакет OrbitDesk

Редакция QA Orbit. Самостоятельная практика, не экспертная сертификация.

## Что подготовить

1. API-review.md: акторы, запросы, ожидаемые коды и эффекты.
2. 01-fixture.sql: синтетические данные с версией.
3. 02-queries.sql и results.md: прогноз и фактический вывод.
4. dom-exercise.spec.ts: локальный DOM-сценарий.
5. evaluation.md: ошибки ИИ, рубрика и исправления.
6. report.md: среда, выполненные проверки, Not run и ограничения.

## SQLite

Нужен локально установленный SQLite. В новой одноразовой базе, из каталога с файлами:

```sh
sqlite3 :memory: ".read 01-fixture.sql" ".read 02-queries.sql"
```

Фикстура не подключается к production. Если SQLite недоступен, выполните ручной разбор и назовите его ручным.

Ожидания:

- Q1: u1|Анна|1, u2|Борис|1, u3|Вера|0.
- Q2: u1|1, u2|1, u3|0.
- Q3: t2, t3.
- Q4: t1|2, t2|1, t3|1, t4|0.

## Playwright

Файл dom-exercise.spec.ts использует стандартный @playwright/test в вашем локальном проекте. Проверьте доступную версию и официальную инструкцию установки: https://playwright.dev/docs/intro

Упражнение использует page.setContent, а не настоящий сервер. Успех не доказывает работу БД и авторизации. Если запуск не выполнялся, укажите Not run.

## Рубрика самопроверки

- [ ] API-ожидания связаны с контрактом и владением объекта.
- [ ] Ошибки не раскрывают чужие данные и не меняют статус.
- [ ] SQL сохраняет Веру с 0 и не удваивает Анну.
- [ ] NULL проверяется через IS NULL.
- [ ] UI-локаторы однозначны, assertions имеют await, sleep отсутствует.
- [ ] Отчёт различает запуск, статический анализ и Not run.
- [ ] Нет секретов, выдуманных замеров и притворного серверного прогона.

## Самостоятельность пакета

Сохраните вместе все шесть файлов скачивания курса. OD-API-1 проектируется без работающего сервиса, OD-DATA-1 загружается в новую SQLite-базу, а DOM-файл исполняется в отдельно настроенном локальном Playwright-проекте. Псевдонимы API и SQL не обозначают один физический объект. Для каждой части отчёта укажите собственный источник и способ проверки.

Для запуска DOM-примера в уже настроенном Playwright-проекте поместите файл в каталог тестов и выполните `npx playwright test dom-exercise.spec.ts` согласно конфигурации своего проекта. Если браузеры или раннер не установлены, следуйте официальной инструкции установки, а результат до реального запуска оставьте Not run.


## Если отдельного Playwright-проекта ещё нет

Используйте поддерживаемую версию Node.js по официальной инструкции Playwright и новую пустую папку. Эти команды не нужно запускать внутри проекта портала:

```sh
mkdir qa-orbit-dom-practice
cd qa-orbit-dom-practice
npm init -y
npm install --save-dev @playwright/test
npx playwright install chromium
# Скопируйте сюда dom-exercise.spec.ts
npx playwright test dom-exercise.spec.ts
```

Пример создаёт собственный учебный DOM. Успешный запуск не доказывает серверную авторизацию или сохранение в БД. До фактического исполнения статус — Not run. Если установка недоступна, выполните статическое ревью отдельно.
