Files
zibo-dashboard/docs/manutenzioni-tracciabilita.md
T
RMubarakzyanov e13e0c9b2a Translate the Playwright e2e suite to English
Test titles, describe blocks, comments and assertion messages are now in
English, so the runner output and the code are readable without Italian.

Deliberately left in Italian, because they are matched against the app or
typed into it:
- UI text used in locators (page headings, badges, empty states, SweetAlert
  messages, sidebar entries, category names)
- form values filled in by the tests, so screenshots and demo videos keep
  showing an Italian UI with Italian data
- fixture labels passed to name(), for the same reason

Screenshot files are renamed to the English labels the suite now writes
(desktop-registro.png -> desktop-registry.png and so on); the docs that
quote test titles or screenshot names are updated to match.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-10 21:11:59 +03:00

9.5 KiB
Raw Blame History

Manutenzioni — трассируемость: ТЗ → тесты

Каждый пункт исходного документа клиента (Manutenzioni - ACS.pdf) и то, чем он подтверждён. Условные обозначения: UI — браузерный тест (Playwright, гоняется на 1440/820/390), APItests/manutenzioni/api_test.php, U — юнит-тест PHPUnit.


1. Реестр оборудования

Пункт ТЗ Чем подтверждён Тест
Единая база оборудования, у каждой позиции категория UI §1.2 le quattro categorie del capitolato esistono e sono gestibili
Категории: Linea di produzione, Attrezzature, Accessori, Qualità UI там же
Категории не хардкод, свой CRUD UI + API Categories CRUD from the modal, and categories in use cannot be deleted; API: создание, дубль имени, запрет удаления занятой
Для категории «линия» обязательно указать линию UI + API §1.5 il campo «linea» compare solo per le categorie che lo richiedono; API: отказ без линии
Фильтрация по категории / линии / отделу UI §1.5 the registry filters by production line and by department; Equipment registry the filters really narrow the list
Перенос существующих production_lines и production_tools UI + API §1.6 le linee e gli attrezzi già esistenti sono nel registro unico; API: старые страницы производства работают после переименования
Поля: название, серийник, партия, дата покупки, дата ввода, производитель, тип, ubicazione, отдел, заметки UI §1.7 tutti i campi dell'anagrafica si salvano e si rivedono — сохранение, возврат в форму и отображение в карточке
Статус (attivo / fuori servizio / dismesso) исключает неактивное из планировочных вью UI §1.7 un'attrezzatura non attiva sparisce dalle viste di pianificazione — проверяет и список ТО, и календарь
Вложения: файлы-инструкции и мануалы UI + API Photos, cover image and documents documents upload and stay downloadable; отказ на недопустимый тип
Обложка + дополнительные фото UI la prima foto caricata diventa copertina, anche nel registro; la stellina sposta la copertina sulla seconda foto; la foto si elimina previa conferma
Калибровка — вне скоупа намеренно не реализована; отдельной таблицы нет

2. Модуль обслуживания

Пункт ТЗ Чем подтверждён Тест
0..N обслуживаний на единицу; 0 = вне планирования UI §2.1 un'attrezzatura senza manutenzioni resta fuori dalla pianificazione
Несколько видов ТО одновременно UI §2.2 la stessa attrezzatura porta più manutenzioni insieme (три работы на одной машине)
Типы: программное и внеплановое UI + API «solo critiche» e «programmate/straordinarie» restringono l'elenco; riaprendo una manutenzione i campi sono quelli salvati
Флаг критичности UI una manutenzione critica è evidenziata nella scheda
Внешние исполнители: указать подрядчика UI + API «esterna» chiede il fornitore e blocca il salvataggio senza
Приложить форму подрядчика UI un allegato dell'intervento compare nello storico
Название/описание UI riaprendo una manutenzione i campi sono quelli salvati
Частота через выпадающий список интервалов UI + U «al bisogno» nasconde il campo della frequenza; la nota di frequenza resta visibile; юниты на все единицы интервала
Файлы-инструкции к ТО UI le istruzioni allegate a una manutenzione si vedono, si riaprono e si eliminano
Срок предупреждения UI riaprendo una manutenzione i campi sono quelli salvati (alert_days)
Один исполнитель + один ответственный UI §2.6 incaricato e responsabile si salvano e si leggono nella scheda
Следующий срок = от последней выполненной работы UI + U registrare un intervento completato aggiorna le date a schermo; un intervento pianificato non sposta la scadenza; eliminando l'ultimo intervento completato la scadenza torna indietro; 20 юнитов на арифметику дат

3. Журнал интервенций

Пункт ТЗ Чем подтверждён Тест
Привязка к конкретному ТО UI la registrazione rapida dall'elenco aggiorna la scadenza (контекст в модалке)
Дата UI registrare un intervento completato aggiorna le date a schermo
Заметки UI riaprendo un intervento i campi sono quelli salvati
Оператор + подпись UI la firma disegnata finisce nello storico; la firma si cancella con il pulsante dedicato; si firma col dito e la pagina non scorre sotto il tratto (планшет/телефон)
Статус (pianificato / in corso / completato) UI un intervento pianificato non sposta la scadenza
Результат (conforme / bloccato …) UI riaprendo un intervento i campi sono quelli salvati
Материалы / замененные части UI там же
Для внешних: подрядчик и его форма UI un allegato dell'intervento compare nello storico

4. Фильтры и вью

Пункт ТЗ Чем подтверждён Тест
Фильтр между программными и внеплановыми UI «solo critiche» e «programmate/straordinarie» restringono l'elenco
Календарь ТО по срокам UI il calendario disegna gli eventi e il click porta alla scheda; i filtri del calendario rifanno la richiesta

5. Выгрузка PDF

Пункт ТЗ Чем подтверждён Тест
Карточка с историей обслуживания по единице UI la scheda riproduce il modulo cartaceo (шапка mod. 6.3-1, работы, журнал)
Собственно PDF UI in stampa la barra dei pulsanti sparisce e il PDF si genera

6. Уведомления

Пункт ТЗ Чем подтверждён Тест
Письма о просрочке и заранее API cron запускается без ошибок; выборка находит просроченное ТО
Получатели: ответственный и исполнитель браузером не проверяется: письма уходят из cron, а не из UI. Логика получателей сверена запросом; фактическая доставка — ручной пункт 12 тест-плана

7. Сводный календарь

Пункт ТЗ Чем подтверждён Тест
Scadenze + formazione + manutenzioni в одном календаре UI ogni strato porta i propri eventi; il calendario cumulativo accende e spegne gli strati
Разные цветные бейджи по типу срока UI §7 i tre tipi di scadenza hanno colori distinti (свой цвет и свой значок у каждого слоя)
Переход из календаря в нужный модуль UI dal calendario cumulativo si arriva alla scheda dell'attrezzatura

8. Техтребования

Пункт ТЗ Чем подтверждён Тест
Работа на PC и планшете → адаптивность UI × 3 весь набор гоняется на 1440 / 820 / 390; Layout (нет горизонтальной прокрутки, карточки против таблицы, модалка достижима, сайдбар не прыгает)

Что осталось за пределами автотестов

Пункт Почему Где проверять
Фактическая доставка писем нужен живой SMTP и ящик ручной чеклист, раздел 12
Внешний вид PDF после печати из браузера субъективно ручной чеклист, разделы 9.4–9.5
Подпись на физическом планшете эмуляция ≠ железо ручной чеклист, 6.6
Соответствие импортированных данных их XLS сверка с бумагой ручной чеклист, раздел 13

Как перепроверить

make test-sizes              # весь набор на трёх размерах
npx playwright test tests/e2e/capitolato.spec.js   # только пункты ТЗ