Skip to content

Commit 19d6365

Browse files
committed
add permission test
1 parent d6325aa commit 19d6365

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

test/permission_test.dart

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
import 'package:flutter_test/flutter_test.dart';
2+
import 'package:onesignal_flutter/src/permission.dart';
3+
4+
void main() {
5+
TestWidgetsFlutterBinding.ensureInitialized();
6+
7+
group('OSPermissionState', () {
8+
group('constructor', () {
9+
test('initializes with permission true when provided in json', () {
10+
final json = {'permission': true};
11+
final state = OSPermissionState(json);
12+
13+
expect(state.permission, true);
14+
});
15+
16+
test('defaults to false when permission key is missing', () {
17+
final json = <String, dynamic>{};
18+
final state = OSPermissionState(json);
19+
20+
expect(state.permission, false);
21+
});
22+
});
23+
24+
group('jsonRepresentation', () {
25+
test('returns json string with permission true', () {
26+
final json = {'permission': true};
27+
final state = OSPermissionState(json);
28+
final jsonString = state.jsonRepresentation();
29+
30+
expect(jsonString, contains('"permission": true'));
31+
});
32+
33+
test('returns properly formatted json string', () {
34+
final json = {'permission': true};
35+
final state = OSPermissionState(json);
36+
final jsonString = state.jsonRepresentation();
37+
38+
expect(jsonString, contains('"permission": true'));
39+
});
40+
});
41+
42+
group('permission field', () {
43+
test('can be modified after construction', () {
44+
final json = {'permission': false};
45+
final state = OSPermissionState(json);
46+
47+
expect(state.permission, false);
48+
49+
state.permission = true;
50+
expect(state.permission, true);
51+
});
52+
53+
test('reflects changes in jsonRepresentation', () {
54+
final json = {'permission': false};
55+
final state = OSPermissionState(json);
56+
57+
state.permission = true;
58+
final jsonString = state.jsonRepresentation();
59+
60+
expect(jsonString, contains('"permission": true'));
61+
});
62+
});
63+
});
64+
}

0 commit comments

Comments
 (0)