import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'; import 'flutter_secure_storage_interface_test.mocks.dart'; @GenerateMocks([FlutterSecureStorage]) void main() { test("SecureStorageWrapper write", () async { final secureStore = MockFlutterSecureStorage(); when(secureStore.write(key: "testKey", value: "some value")) .thenAnswer((_) async => null); final wrapper = SecureStorageWrapper(store: secureStore, isDesktop: false); await expectLater( () async => await wrapper.write(key: "testKey", value: "some value"), returnsNormally); verify(secureStore.write(key: "testKey", value: "some value")).called(1); verifyNoMoreInteractions(secureStore); }); test("SecureStorageWrapper read", () async { final secureStore = MockFlutterSecureStorage(); when(secureStore.read(key: "testKey")) .thenAnswer((_) async => "some value"); final wrapper = SecureStorageWrapper(store: secureStore, isDesktop: false); final result = await wrapper.read(key: "testKey"); expect(result, "some value"); verify(secureStore.read(key: "testKey")).called(1); verifyNoMoreInteractions(secureStore); }); test("SecureStorageWrapper delete", () async { final secureStore = MockFlutterSecureStorage(); when(secureStore.delete(key: "testKey")).thenAnswer((_) async {}); final wrapper = SecureStorageWrapper(store: secureStore, isDesktop: false); await expectLater( () async => await wrapper.delete(key: "testKey"), returnsNormally); verify(secureStore.delete(key: "testKey")).called(1); verifyNoMoreInteractions(secureStore); }); }