diff --git a/History/tests/2026-08-24-folder-select-full-test.md b/History/tests/2026-08-24-folder-select-full-test.md new file mode 100644 index 0000000..87531e0 --- /dev/null +++ b/History/tests/2026-08-24-folder-select-full-test.md @@ -0,0 +1,31 @@ +# Тест выбора папки v0.0.69 на проде — полный цикл (2026-08-24) + +_tests. Прод https://drhider.pythonk8s.dev.nubes.ru/, после редеплоя 18:31 (v0.0.69)._ + +## Что проверено (все ✓) +1. **Выбор папки рекурсивно с подпапками** — папка `Клиенты/` с `Подпапка/Акт_работ.txt`. +2. **Вложенный ZIP** — `Клиенты/архивы/документы.zip` раскрыт, файлы добавлены с префиксом пути: + `архивы/Отчёт/Справка_Сидоров.txt`, `архивы/Счёт_на_оплату.txt`. +3. **Кириллические имена** — сохраняются корректно. +4. **Относительный путь** — в таблице и в результирующем ZIP. +5. **Дедуп** — повторный `Договор_Ромашка.txt` добавлен один раз. +6. **Полный цикл обфускации** (3 txt, 7.3с, ИИ 7с, токены 1858): + - CSV-таблица замен: `+7 916 123-45-67 → +7_000_000_0001`, `Петрова Анна Сергеевна → Николаев_0001`, + `Сидоров Пётр Николаевич → Павлов_0001`, `Козлова Мария Викторовна → Новиков_0001`, `Счёт 89 → Договор_0002`, `№45-А → Договор_0001`. + - ZIP: имена с путями (`Подпапка/Акт_работ.md`, `архивы/Отчёт/Справка_Сидоров.md`, `архивы/Счёт_на_оплату.md`); + содержимое обезличено («…Ответственный: Николаев_0001.»). +7. **Лимиты** — файл 51 МБ помечен «🔥 не учитывается», сводка «1 учитываются + 1 свыше лимита». +8. **Заморозка сессии** после обработки — выбор файлов/папок заблокирован до «Новая сессия». + +## Найденный баг (косметика) +Счётчик «Добавлено из папки: N» завышается на число дублей: `added++` выполняется безусловно +после `addFileWithDedup`, даже когда файл не добавлен (дедуп). Пример: папка с одним дублем +→ «5 файлов» при 4 реально добавленных. На список файлов не влияет. + +## Примечания +- Битый pdf-плейсхолдер (1 Б) не обработался (пропущен) — ожидаемо. +- В ZIP текстовые `.txt` выходят как `.md` — поведение бэкенда, не связано с выбором папки. +- Скачивание через событие `download` в Playwright не генерируется — данные получены прямым + `fetch /api/download/` и `/api/csv/` (sid из перехвата URL). +- Клик по «✕» в одном тике по двум кнопкам → `TypeError … 'name'` в `rm` — артефакт теста, + в реальном использовании не воспроизводится (rr() пере-рендерит DOM синхронно).