forked from eatvio/eatvio_app
chore(version): update app version to 1.3.5+85 and improve test coverage reporting in CI
This commit is contained in:
53
test/core/mixins/registration_date_cache_mixin_test.dart
Normal file
53
test/core/mixins/registration_date_cache_mixin_test.dart
Normal file
@@ -0,0 +1,53 @@
|
||||
import 'package:eatvio_app/core/mixins/registration_date_cache_mixin.dart';
|
||||
import 'package:eatvio_app/core/prefs.dart';
|
||||
import 'package:eatvio_app/core/prefs_keys.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:mockito/annotations.dart';
|
||||
import 'package:mockito/mockito.dart';
|
||||
|
||||
import 'registration_date_cache_mixin_test.mocks.dart';
|
||||
|
||||
@GenerateMocks([Prefs])
|
||||
void main() {
|
||||
group('RegistrationDateCacheMixin', () {
|
||||
late MockPrefs mockPrefs;
|
||||
late TestClassWithMixin testClass;
|
||||
|
||||
setUp(() {
|
||||
mockPrefs = MockPrefs();
|
||||
testClass = TestClassWithMixin();
|
||||
testClass.prefs = mockPrefs;
|
||||
});
|
||||
|
||||
test('caches registration date', () async {
|
||||
final date = DateTime(2024, 1, 15);
|
||||
final expectedMilliseconds = date.millisecondsSinceEpoch;
|
||||
|
||||
when(mockPrefs.setInt(PrefsKeys.registrationDate, expectedMilliseconds))
|
||||
.thenAnswer((_) async => Future.value());
|
||||
|
||||
await testClass.cacheRegistrationDate(date);
|
||||
|
||||
verify(mockPrefs.setInt(PrefsKeys.registrationDate, expectedMilliseconds))
|
||||
.called(1);
|
||||
});
|
||||
|
||||
test('caches different dates correctly', () async {
|
||||
final date1 = DateTime(2024, 1, 15);
|
||||
final date2 = DateTime(2024, 2, 20);
|
||||
|
||||
when(mockPrefs.setInt(any, any))
|
||||
.thenAnswer((_) async => Future.value());
|
||||
|
||||
await testClass.cacheRegistrationDate(date1);
|
||||
await testClass.cacheRegistrationDate(date2);
|
||||
|
||||
verify(mockPrefs.setInt(PrefsKeys.registrationDate, date1.millisecondsSinceEpoch))
|
||||
.called(1);
|
||||
verify(mockPrefs.setInt(PrefsKeys.registrationDate, date2.millisecondsSinceEpoch))
|
||||
.called(1);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
class TestClassWithMixin with RegistrationDateCacheMixin {}
|
||||
Reference in New Issue
Block a user