Skip to content

Commit 70d099d

Browse files
committed
chore: WIP
1 parent e8a9b31 commit 70d099d

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import 'package:flutter_test/flutter_test.dart';
2+
import 'package:mocktail/mocktail.dart';
3+
import 'package:neon_framework/src/blocs/user_status.dart';
4+
import 'package:neon_framework/src/models/account.dart';
5+
import 'package:nextcloud/nextcloud.dart';
6+
import 'package:nextcloud/user_status.dart' as user_status;
7+
import 'package:universal_io/io.dart';
8+
9+
// ignore: avoid_implementing_value_types
10+
class MockAccount extends Mock implements Account {}
11+
12+
class MockNextcloudClient extends Mock implements NextcloudClient {}
13+
14+
class MockUserStatusClient extends Mock implements user_status.$Client {}
15+
16+
class MockUserStatusUserStatusClient extends Mock implements user_status.$UserStatusClient {}
17+
18+
void main() {
19+
late user_status.$UserStatusClient userStatusUserStatusClient;
20+
late user_status.$Client userStatusClient;
21+
late NextcloudClient nextcloudClient;
22+
late Account account;
23+
late UserStatusBloc bloc;
24+
25+
setUp(() {
26+
userStatusUserStatusClient = MockUserStatusUserStatusClient();
27+
when(() async => userStatusUserStatusClient.setStatus(statusType: any(named: 'statusType')))
28+
.thenThrow(Exception('bla'));
29+
30+
userStatusClient = MockUserStatusClient();
31+
when(() => userStatusClient.userStatus).thenReturn(userStatusUserStatusClient);
32+
33+
nextcloudClient = MockNextcloudClient();
34+
when(() => nextcloudClient.httpClient).thenReturn(HttpClient());
35+
when(() => nextcloudClient.authentications).thenReturn([]);
36+
when(() => nextcloudClient.userStatus).thenReturn(userStatusClient);
37+
38+
account = MockAccount();
39+
when(() => account.id).thenReturn('');
40+
41+
bloc = UserStatusBloc(account);
42+
});
43+
44+
test('Set status type', () {
45+
when(() => account.client).thenReturn(nextcloudClient);
46+
when(() => nextcloudClient.baseURL).thenReturn(Uri.parse('http://localhost'));
47+
48+
bloc.setStatusType('online');
49+
});
50+
}

0 commit comments

Comments
 (0)