@@ -53,13 +53,15 @@ void main() {
53
53
final loadedPolicies = await storage.loadPolicies ();
54
54
55
55
// Modify the loaded policies
56
- (loadedPolicies['admin' ]! ['permissions' ] as List <dynamic >)
57
- .add ('delete' );
56
+ final adminPolicy = loadedPolicies['admin' ]! as Map <String , dynamic >;
57
+ final permissions = adminPolicy['permissions' ] as List <dynamic >;
58
+ permissions.add ('delete' );
58
59
59
60
// Reload to verify original wasn't modified
60
61
final reloadedPolicies = await storage.loadPolicies ();
61
- expect (reloadedPolicies['admin' ]! ['permissions' ],
62
- equals (['read' , 'write' ]));
62
+ final reloadedAdminPolicy =
63
+ reloadedPolicies['admin' ]! as Map <String , dynamic >;
64
+ expect (reloadedAdminPolicy['permissions' ], equals (['read' , 'write' ]));
63
65
});
64
66
65
67
test ('should handle complex nested structures' , () async {
@@ -82,8 +84,10 @@ void main() {
82
84
final loadedPolicies = await storage.loadPolicies ();
83
85
84
86
expect (loadedPolicies, equals (testPolicies));
85
- expect (loadedPolicies['admin' ]! ['metadata' ]! ['nested' ]! ['array' ],
86
- equals ([1 , 2 , 3 ]));
87
+ final adminPolicy = loadedPolicies['admin' ]! as Map <String , dynamic >;
88
+ final metadata = adminPolicy['metadata' ] as Map <String , dynamic >;
89
+ final nested = metadata['nested' ] as Map <String , dynamic >;
90
+ expect (nested['array' ], equals ([1 , 2 , 3 ]));
87
91
});
88
92
});
89
93
@@ -140,14 +144,15 @@ void main() {
140
144
await storage.savePolicies (testPolicies);
141
145
142
146
// Modify the original policies
143
- final permissions =
144
- testPolicies[ 'admin' ] ! ['permissions' ] as List <dynamic >;
147
+ final adminPolicy = testPolicies[ 'admin' ] ! as Map < String , dynamic >;
148
+ final permissions = adminPolicy ['permissions' ] as List <dynamic >;
145
149
permissions.add ('delete' );
146
150
147
151
// Reload to verify stored policies weren't modified
148
152
final loadedPolicies = await storage.loadPolicies ();
149
- expect (
150
- loadedPolicies['admin' ]! ['permissions' ], equals (['read' , 'write' ]));
153
+ final loadedAdminPolicy =
154
+ loadedPolicies['admin' ]! as Map <String , dynamic >;
155
+ expect (loadedAdminPolicy['permissions' ], equals (['read' , 'write' ]));
151
156
});
152
157
153
158
test ('should handle empty policies map' , () async {
@@ -190,7 +195,8 @@ void main() {
190
195
final loadedPolicies = await storage.loadPolicies ();
191
196
192
197
expect (loadedPolicies.length, equals (1000 ));
193
- expect (loadedPolicies['policy_500' ]! ['id' ], equals (500 ));
198
+ final policy500 = loadedPolicies['policy_500' ]! as Map <String , dynamic >;
199
+ expect (policy500['id' ], equals (500 ));
194
200
});
195
201
});
196
202
@@ -376,14 +382,14 @@ void main() {
376
382
await storage.savePolicies (testPolicies);
377
383
final loadedPolicies = await storage.loadPolicies ();
378
384
379
- expect (
380
- loadedPolicies[ 'admin' ] ! [ ' level1' ]! [ 'level2' ] ! [ 'level3' ] ! [
381
- 'level4' ] ! [ 'level5' ] ! [ 'value' ],
382
- equals ( 'deep_value' )) ;
383
- expect (
384
- loadedPolicies[ 'admin' ] ! [ 'level1' ] ! [ 'level2' ] ! [ 'level3' ] ! [
385
- 'level4' ] ! [ ' level5' ] ! [ 'array ' ],
386
- equals ([1 , 2 , 3 , 4 , 5 ]));
385
+ final adminPolicy = loadedPolicies[ 'admin' ] ! as Map < String , dynamic >;
386
+ final level1 = adminPolicy[ ' level1' ] as Map < String , dynamic >;
387
+ final level2 = level1[ 'level2' ] as Map < String , dynamic >;
388
+ final level3 = level2[ 'level3' ] as Map < String , dynamic > ;
389
+ final level4 = level3[ 'level4' ] as Map < String , dynamic >;
390
+ final level5 = level4[ 'level5' ] as Map < String , dynamic >;
391
+ expect ( level5[ 'value ' ], equals ( 'deep_value' ));
392
+ expect (level5[ 'array' ], equals ([1 , 2 , 3 , 4 , 5 ]));
387
393
});
388
394
389
395
test ('should handle policies with various data types' , () async {
@@ -402,13 +408,14 @@ void main() {
402
408
await storage.savePolicies (testPolicies);
403
409
final loadedPolicies = await storage.loadPolicies ();
404
410
405
- expect (loadedPolicies['admin' ]! ['string' ], equals ('value' ));
406
- expect (loadedPolicies['admin' ]! ['int' ], equals (42 ));
407
- expect (loadedPolicies['admin' ]! ['double' ], equals (3.14 ));
408
- expect (loadedPolicies['admin' ]! ['bool' ], equals (true ));
409
- expect (loadedPolicies['admin' ]! ['list' ], equals ([1 , 2 , 3 ]));
410
- expect (loadedPolicies['admin' ]! ['map' ], equals ({'key' : 'value' }));
411
- expect (loadedPolicies['admin' ]! ['null' ], isNull);
411
+ final adminPolicy = loadedPolicies['admin' ]! as Map <String , dynamic >;
412
+ expect (adminPolicy['string' ], equals ('value' ));
413
+ expect (adminPolicy['int' ], equals (42 ));
414
+ expect (adminPolicy['double' ], equals (3.14 ));
415
+ expect (adminPolicy['bool' ], equals (true ));
416
+ expect (adminPolicy['list' ], equals ([1 , 2 , 3 ]));
417
+ expect (adminPolicy['map' ], equals ({'key' : 'value' }));
418
+ expect (adminPolicy['null' ], isNull);
412
419
});
413
420
});
414
421
@@ -427,7 +434,8 @@ void main() {
427
434
final loadedPolicies = await storage.loadPolicies ();
428
435
expect (
429
436
loadedPolicies.length, equals (1 )); // Only last save should remain
430
- expect (loadedPolicies['policy_99' ]! ['id' ], equals (99 ));
437
+ final policy99 = loadedPolicies['policy_99' ]! as Map <String , dynamic >;
438
+ expect (policy99['id' ], equals (99 ));
431
439
});
432
440
433
441
test ('should handle rapid load operations' , () async {
0 commit comments