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'), ), ); }); }