Files
kooltab/test/admin_pin_service_test.dart
T
2026-08-07 03:09:59 +02:00

53 lines
1.3 KiB
Dart

import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:kooltab2/services/admin_pin_service.dart';
import 'package:mocktail/mocktail.dart';
class MockFlutterSecureStorage extends Mock implements FlutterSecureStorage {}
void main() {
late AdminPinService service;
late MockFlutterSecureStorage mockStorage;
setUp(() {
mockStorage = MockFlutterSecureStorage();
service = AdminPinService(storage: mockStorage);
});
test('uses separate secure-storage keys for the admin PIN', () async {
when(
() => mockStorage.write(
key: any(named: 'key'),
value: any(named: 'value'),
),
).thenAnswer((_) async {});
await service.setPin('1234');
verify(
() => mockStorage.write(
key: 'admin_pin_salt',
value: any(named: 'value'),
),
).called(1);
verify(
() => mockStorage.write(
key: 'admin_pin_hash',
value: any(named: 'value'),
),
).called(1);
verifyNever(
() => mockStorage.write(
key: 'pin_salt',
value: any(named: 'value'),
),
);
verifyNever(
() => mockStorage.write(
key: 'pin_hash',
value: any(named: 'value'),
),
);
});
}