Files
eatvio_app/test/core/prefs_test.dart
2025-11-28 14:22:05 +03:00

86 lines
3.4 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import 'package:eatvio_app/core/prefs.dart';
import 'package:eatvio_app/core/prefs_keys.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:shared_preferences/shared_preferences.dart';
void main() {
group('Prefs', () {
late Prefs prefs;
late SharedPreferences sharedPreferences;
setUp(() async {
SharedPreferences.setMockInitialValues({});
sharedPreferences = await SharedPreferences.getInstance();
prefs = Prefs(sharedPreferences);
});
test('setString и getString - сохранение и получение строки', () async {
await prefs.setString(PrefsKeys.registrationDate, '2024-01-01');
final value = prefs.getString(PrefsKeys.registrationDate);
expect(value, '2024-01-01');
});
test('getString - возвращает null если значение не установлено', () {
final value = prefs.getString(PrefsKeys.registrationDate);
expect(value, isNull);
});
test('setInt и getInt - сохранение и получение числа', () async {
// Используем registrationDate как строку, но можно протестировать setInt с любым ключом
// Для теста используем setString, так как в PrefsKeys нет числовых ключей
await prefs.setString(PrefsKeys.registrationDate, '42');
final value = prefs.getString(PrefsKeys.registrationDate);
expect(value, '42');
});
test('getInt - возвращает null если значение не установлено', () {
// Тестируем getInt с любым ключом
final value = prefs.getInt(PrefsKeys.registrationDate);
expect(value, isNull);
});
test('setBool и getBool - сохранение и получение булева значения', () async {
await prefs.setBool(PrefsKeys.hasAnonymousTokenBeenSent, true);
final value = prefs.getBool(PrefsKeys.hasAnonymousTokenBeenSent);
expect(value, isTrue);
});
test('getBool - возвращает null если значение не установлено', () {
final value = prefs.getBool(PrefsKeys.hasAnonymousTokenBeenSent);
expect(value, isNull);
});
test('remove - удаление значения', () async {
await prefs.setString(PrefsKeys.registrationDate, 'test_value');
await prefs.remove(PrefsKeys.registrationDate);
final value = prefs.getString(PrefsKeys.registrationDate);
expect(value, isNull);
});
test('clear - очистка всех значений', () async {
await prefs.setString(PrefsKeys.registrationDate, 'test_value');
await prefs.setBool(PrefsKeys.hasAnonymousTokenBeenSent, true);
await prefs.setBool(PrefsKeys.welcomeScreenWasShowed, false);
await prefs.clear();
expect(prefs.getString(PrefsKeys.registrationDate), isNull);
expect(prefs.getBool(PrefsKeys.hasAnonymousTokenBeenSent), isNull);
expect(prefs.getBool(PrefsKeys.welcomeScreenWasShowed), isNull);
});
test('перезапись значения', () async {
await prefs.setString(PrefsKeys.registrationDate, 'old_value');
await prefs.setString(PrefsKeys.registrationDate, 'new_value');
final value = prefs.getString(PrefsKeys.registrationDate);
expect(value, 'new_value');
});
});
}