# Матрица тестирования

Дата обновления: `2026-03-06`.

## 1. Frontend

### 1.1 Unit tests

Покрытие:

- manifests для `swine-climate`, `swine-feeding`, `swine-water`, `swine-production`, `swine-biosecurity`;
- registry-проверка присутствия swine-модулей в `MODULE_BLOCK_REGISTRY`;
- runtime/shared tests (`registry`, `runtime-cache`, `ui-persistence`).

Команда прогона:

```bash
npm --prefix frontend-vue test
```

Статус: `PASS`.

### 1.2 Build smoke

Команда:

```bash
npm --prefix frontend-vue run build
```

Статус: `PASS`.

## 2. Backend unit tests

Покрытые plugin-пакеты swine:

- `internal/api/plugins/swineclimate`
- `internal/api/plugins/swinefeeding`
- `internal/api/plugins/swinewater`
- `internal/api/plugins/swineproduction`
- `internal/api/plugins/swinebiosecurity`

Минимальные сценарии на каждый пакет:

- `scheme` контракт (поля, типы, фильтры);
- `list` (фильтрация, pagination, tenant/site isolation);
- ingest/commands happy-path + валидация ошибок;
- расчет baseline KPI/diagnostics (где применимо).

Команда прогона:

```bash
go test ./internal/api/plugins/swineclimate \
  ./internal/api/plugins/swinefeeding \
  ./internal/api/plugins/swinewater \
  ./internal/api/plugins/swineproduction \
  ./internal/api/plugins/swinebiosecurity
```

Статус: `PASS`.

## 3. Contract tests

Покрытые contract-пакеты:

- `internal/api/plugins/swinecontract`
- `internal/api/plugins/swinestatuscontract`

Проверки:

- envelope `item/list + meta.request_id/meta.timestamp`;
- обязательные поля изоляции: `tenant_id`, `industry_code=swine`, `site_id`;
- соответствие `scheme/list` фильтров документу `mvp-api.md`;
- bridge критических alarms в `status` с сохранением `correlation_id`.

Команда прогона:

```bash
go test ./internal/api/plugins/swinecontract ./internal/api/plugins/swinestatuscontract
```

Статус: `PASS`.
