[TEST-UI-03] Автоматизированное UI/Widget тестирование мобильного приложения

Тестирование: Фронтенд

Published

October 14, 2026

NoteКраткая карточка задачи
  • Компонент: food_tracker_mobile (Flutter).
  • Инструменты: Flutter Widget Tests, mockito / bloc_test.
  • Тип задачи: Frontend QA.
  • Статус: В анализе

Описание задачи

Необходимо покрыть UI-компоненты экранов «Холодильник» и «Приёмка продуктов» тестами для проверки реактивного поведения интерфейса при получении асинхронных данных.

Инструкция по шагам

  1. Тестирование WebSocket-событий (bloc_test): Написать интеграционный тест для FridgeBloc. Проверить, что при отправке в стрим вебсокета события PRODUCTS_PROCESSED, блок генерирует состояние фонового обновления и список продуктов на экране перерисовывается без перезапуска страницы.
  2. Widget-тестирование модалок ошибок: Написать тесты для виджета AppErrorBottomSheet. Изолированно передать в виджет разные коды gRPC ошибок:
    • Проверить, что при передаче code: 16 на экране рендерится иконка <i class="bi-lock-fill"></i> и кнопка «Обновить сессию».
    • Проверить, что при передаче code: 14 текст меняется на «Проблемы со связью».
  3. Тестирование состояний спиннера (Loading State): Убедиться, что во время отправки чека кнопка блокируется, а вместо неё крутится индикатор загрузки, защищая систему от повторных случайных кликов пользователя.