-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Бизнес-требования для NocoCache.ts
Сценарий 1.1: Успешное кэширование данных
Описание: Проверить возможность сохранения данных в кэш
Предусловия:
- Кэш инициализирован
- Ключ и значение корректны
Шаги:
- Вызвать метод
NocoCache.set()с валидными ключом и значением - Проверить, что данные успешно сохранены
Ожидаемый результат:
- Метод возвращает
Promise.resolve(true) - Данные доступны по указанному ключу
Сценарий 1.2: Получение данных из кэша
Описание: Проверить возможность получения ранее сохраненных данных
Предусловия:
- В кэше есть данные по ключу
Шаги:
- Вызвать метод
NocoCache.get()с существующим ключом - Проверить возвращаемое значение
Ожидаемый результат:
- Возвращаются корректные данные, соответствующие типу (массив или объект)
Сценарий 1.3: Удаление данных из кэша
Описание: Проверить возможность удаления данных по ключу
Предусловия:
- В кэше есть данные по ключу
Шаги:
- Вызвать метод
NocoCache.del()с существующим ключом - Попытаться получить данные по этому ключу
Ожидаемый результат:
- Данные успешно удалены
- Повторное получение возвращает пустое значение
Сценарий 1.4: Работа с кэшем при отключенном кэшировании
Описание: Проверить поведение методов при отключенном кэше
Предусловия:
- Кэширование отключено через
NocoCache.disableCache()
Шаги:
- Вызвать
NocoCache.disableCache() - Попытаться сохранить данные через
NocoCache.set() - Попытаться получить данные через
NocoCache.get()
Ожидаемый результат:
- Методы возвращают значения по умолчанию без ошибок
- Никакие данные не сохраняются в кэш
Сценарий 1.5: Использование кэша с истечением срока действия
Описание: Проверить возможность установки значений с TTL
Предусловия:
- Кэш инициализирован
Шаги:
- Вызвать метод
NocoCache.setExpiring()с ключом, значением и временем жизни - Дождаться истечения времени жизни
- Попытаться получить данные по ключу
Ожидаемый результат:
- Данные автоматически удаляются после истечения TTL
- Повторное получение возвращает пустое значение
Сценарий 1.6: Работа с хэшами в кэше
Описание: Проверить возможность работы с хэш-структурами
Предусловия:
- Кэш инициализирован
Шаги:
- Вызвать метод
NocoCache.setHash()с ключом и хэш-объектом - Вызвать метод
NocoCache.getHash()для получения хэша - Вызвать метод
NocoCache.getHashField()для получения отдельного поля
Ожидаемый результат:
- Хэш успешно сохраняется и извлекается
- Отдельные поля хэша доступны по имени
Сценарий 1.7: Работа со списками в кэше
Описание: Проверить возможность работы со списковыми структурами
Предусловия:
- Кэш инициализирован
Шаги:
- Вызвать метод
NocoCache.setList()с данными списка - Вызвать метод
NocoCache.getList()для получения списка
Ожидаемый результат:
- Список успешно сохраняется и извлекается
- Порядок элементов сохраняется
Сценарий 1.8: Проверка существования ключа
Описание: Проверить возможность определения наличия ключа в кэше
Предусловия:
- Кэш инициализирован
- Есть и отсутствующие ключи
Шаги:
- Вызвать метод
NocoCache.keyExists()с существующим ключом - Вызвать метод
NocoCache.keyExists()с несуществующим ключом
Ожидаемый результат:
- Для существующего ключа возвращается
true - Для несуществующего ключа возвращается
false
Сценарий 1.9: Обработка ошибок при работе с кэшем
Описание: Проверить корректную обработку ошибок при недоступности хранилища
Предусловия:
- Сервер Redis недоступен
Шаги:
- Вызвать любой метод работы с кэшем
Ожидаемый результат:
- Ошибки обрабатываются корректно
- Приложение продолжает работу
- Возвращаются значения по умолчанию
Сценарий 1.10: Глубокое удаление связанных данных
Описание: Проверить возможность удаления связанных данных по шаблону
Предусловия:
- В кэше есть данные, соответствующие шаблону
Шаги:
- Вызвать метод
NocoCache.deepDel()с ключом и направлением поиска
Ожидаемый результат:
- Все связанные данные удаляются
- Метод завершается успешно
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels