В данном документе описан набор тест-кейсов для тестирования функционала «Проверка фонда», включая единую форму ввода, логику работы архива, генерацию отчетов и звуковые уведомления.
1. Модуль 1: Настройки администратора и инициализация
1.1. TC-1.1: Включение единой формы ввода
Предусловие: Пользователь авторизован в АРМ Администратор.
Шаги: Перейдите в настройки модуля АРМ Комплектатор. В блоке «Настройка формы проверки фонда» установите галочку «Использовать единую форму проверки фонда». Сохраните настройки. Перейдите в АРМ Комплектатор -> Проверка фонда.
Ожидаемый результат: Вместо раздельных полей отображается одно большое текстовое поле «Введите отсканированные коды полки и книг на ней».
1.2. TC-1.2: Настройка правил определения мест хранения (MHR)
Шаги: В настройках shelfMhrRules добавьте правило: Начало диапазона 00000010, Конец диапазона 00000020, Место хранения Фонд А. Сохраните настройки.
Ожидаемый результат: Настройки успешно сохранены. Функция определения места хранения корректно возвращает Фонд А для штрих-кода полки 00000015.
2. Модуль 2: Процесс сканирования и обработки (Единая форма)
2.1. TC-2.1: Успешная проверка книг на полке (Happy Path)
Предусловие: Единая форма включена. В ЭК есть книги со штрих-кодами B001 и B002.
Шаги: В текстовое поле введите с новой строки: 00000015 (штрих-код полки), B001, B002. Нажмите «Отправить».
Ожидаемый результат: Таблица результатов содержит 2 строки со статусом «OK». В поле 910 этих книг обновлена дата, ФИО текущего пользователя, подполе места хранения и номер полки.
2.2. TC-2.2: Ошибка: книга без указания полки
Шаги: Очистите текстовое поле. Введите штрих-код книги B001 без предшествующего штрих-кода полки. Нажмите «Отправить».
Ожидаемый результат: В таблице выводится ошибка «Для этой книги не была указана полка». Поиск по БД для данного штрих-кода не выполняется. Строка добавляется в список ошибок.
2.3. TC-2.3: Обработка нескольких полок за один сеанс
Ожидаемый результат:Книга_1 получает данные и место хранения Полки_1. Книга_2 получает данные и место хранения Полки_2.
2.4. TC-2.4: Неизвестный штрих-код книги / Запись не найдена
Шаги: Введите валидный штрих-код полки, затем несуществующий штрих-код книги FAKE_999. Нажмите «Отправить».
Ожидаемый результат: В таблице результатов для FAKE_999 выводится «ЗАПИСЬ НЕ НАЙДЕНА». Штрих-код дублируется в красном блоке ошибок над таблицей.
2.5. TC-2.5: Загрузка штрих-кодов из .txt файла
Шаги: Выберите заранее подготовленный .txt файл со штрих-кодами в поле «Или загрузите текстовый файл» и нажмите «Отправить».
Ожидаемый результат: Файл успешно прочитан, результаты обработки полностью идентичны ручному вводу.
3. Модуль 3: Звуковые уведомления
3.1. TC-3.1: Работа кнопки переключения звука
Шаги: Нажмите на иконку колокольчика на странице проверки фонда.
Ожидаемый результат: Иконка меняется (перечеркнутый / обычный колокольчик). При включении звучит короткий тестовый сигнал (440 Гц). Выбор сохраняется в памяти браузера (localStorage).
3.2. TC-3.2: Звуковой сигнал при ошибке
Предусловие: Звук в браузере включен (иконка обычного колокольчика).
Шаги: Отправьте форму с несуществующим штрих-кодом книги.
Ожидаемый результат: После перезагрузки страницы автоматически воспроизводится предупреждающий звуковой сигнал (sawtooth, 150 Гц).
4. Модуль 4: Обновление библиографической записи и сохранение истории
4.1. TC-4.1: Первичная проверка экземпляра
Предусловие: Книга B003 никогда ранее не проверялась (дата и ФИО пустые).
Шаги: Отсканируйте полку и штрих-код B003.
Ожидаемый результат: В поле 910 проставляется дата и ФИО. Подполе истории ) не создается. Создается новое поле 9101, полностью копирующее поле 910.
Предусловие: У книги B003 уже есть старая дата проверки и ФИО.
Шаги: Отсканируйте B003 снова.
Ожидаемый результат: Текущая дата и ФИО обновляются в 910 поле. В подполе истории ) переносятся старые данные (Инв.номер/Дата/ФИО). В поле 9101 добавляется новое повторение.
4.3. TC-4.3: Защита от дублирования истории (Anti-spam)
Предусловие: Книга B003 уже была отсканирована сегодня.
Шаги: Отсканируйте B003 еще раз.
Ожидаемый результат: Данные в 910 поле перезаписываются текущими. Новое повторение в 9101 не создается, так как оно полностью идентично последнему существующему.
5. Модуль 5: Архив проверок (SQLite)
5.1. TC-5.1: Сохранение сеанса в архив
Шаги: Выполните любую успешную проверку. Перейдите по ссылке «Архив проверок».
Ожидаемый результат: В таблице появилась новая запись с вашей текущей датой, ФИО, корректным количеством штрих-кодов и ошибок.
5.2. TC-5.2: Экспорт и удаление из архива
Шаги: В архиве отметьте чекбоксами несколько записей. Нажмите «Экспорт выбранных в CSV», затем «Удалить выбранные».
Ожидаемый результат: Скачивается корректный CSV файл. После подтверждения удаления, записи исчезают из таблицы и удаляются из файла базы данных ProvFondArchive.db.
6. Модуль 6: Отчет о проверке фонда
6.1. TC-6.1: Генерация базового отчета
Шаги: Перейдите в «Отчет о проверке фонда». Выберите место хранения и установите сегодняшнюю дату. Нажмите «Сформировать отчет».
Ожидаемый результат: Проверенные сегодня книги попадают в список «Найденные / Проверенные». Давно не проверявшиеся экземпляры — в «Обнаруженные проблемы» с текстом Не найдено / Не проверено.
6.2. TC-6.2: Кросс-проверка с читателями (Выдана легитимно)
Предусловие: Книга B004 числится выданной читателю (Статус 1). При физической проверке она не сканировалась (отсутствует на полке).
Шаги: Сформируйте отчет.
Ожидаемый результат: Книга попадает в «Найденные / Проверенные» (отсутствие на полке является легитимным).
6.3. TC-6.3: Ошибка: Выдана читателю, но найдена на полке
Предусловие: Книга B005 числится выданной читателю (Статус 1).
Шаги: Отсканируйте B005 в форме «Проверка фонда». Сформируйте отчет.
Ожидаемый результат: Книга попадает в «Обнаруженные проблемы» с текстом ошибки: Книга выдана читателю (Статус 1), но стоит на полке (найдена при проверке).