forked from supabase/supabase-flutter
/
widget_test_stubs.dart
51 lines (44 loc) · 1.42 KB
/
widget_test_stubs.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import 'package:flutter/material.dart';
import 'package:supabase_flutter/supabase_flutter.dart';
class MockWidget extends StatefulWidget {
const MockWidget({Key? key}) : super(key: key);
@override
_MockWidgetState createState() => _MockWidgetState();
}
class _MockWidgetState extends State<MockWidget> {
bool isSignedIn = true;
@override
Widget build(BuildContext context) {
return isSignedIn
? TextButton(
onPressed: () {
Supabase.instance.client.auth.signOut();
},
child: const Text('Sign out'),
)
: const Text('You have signed out');
}
@override
void initState() {
SupabaseAuth.instance.onAuthChange.listen((event) {
if (event == AuthChangeEvent.signedOut) {
setState(() {
isSignedIn = false;
});
}
});
super.initState();
}
}
class MockLocalStorage extends LocalStorage {
MockLocalStorage()
: super(
initialize: () async {},
/// Session expires at is at its maximum value for unix timestamp
accessToken: () async =>
'{"currentSession":{"access_token":"","expires_in":3600,"refresh_token":"","user":{"id":"","aud":"","created_at":"","role":"authenticated","updated_at":""}},"expiresAt":2147483647}',
persistSession: (_) async {},
removePersistedSession: () async {},
hasAccessToken: () async => true,
);
}