Skip to content

Commit c14be9c

Browse files
refactor(tests): improve readability and maintainability by restructuring policy test cases
1 parent f97aa07 commit c14be9c

File tree

4 files changed

+40
-31
lines changed

4 files changed

+40
-31
lines changed

lib/src/utils/log_handler.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,11 @@ class LogHandler {
123123
static bool _isDebugMode = kDebugMode;
124124
static String _tag = _defaultTag;
125125
static String _currentScreen = '';
126+
// ignore: unused_field
126127
static bool _includeTimestamp = true;
128+
// ignore: unused_field
127129
static bool _includeStackTrace = true;
130+
// ignore: unused_field
128131
static bool _includeSystemInfo = false;
129132
static LogLevel _minLogLevel = LogLevel.debug;
130133
static bool _useStructuredLogging = true;

test/core/memory_policy_storage_test.dart

Lines changed: 35 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,15 @@ void main() {
5353
final loadedPolicies = await storage.loadPolicies();
5454

5555
// 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');
5859

5960
// Reload to verify original wasn't modified
6061
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']));
6365
});
6466

6567
test('should handle complex nested structures', () async {
@@ -82,8 +84,10 @@ void main() {
8284
final loadedPolicies = await storage.loadPolicies();
8385

8486
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]));
8791
});
8892
});
8993

@@ -140,14 +144,15 @@ void main() {
140144
await storage.savePolicies(testPolicies);
141145

142146
// 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>;
145149
permissions.add('delete');
146150

147151
// Reload to verify stored policies weren't modified
148152
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']));
151156
});
152157

153158
test('should handle empty policies map', () async {
@@ -190,7 +195,8 @@ void main() {
190195
final loadedPolicies = await storage.loadPolicies();
191196

192197
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));
194200
});
195201
});
196202

@@ -376,14 +382,14 @@ void main() {
376382
await storage.savePolicies(testPolicies);
377383
final loadedPolicies = await storage.loadPolicies();
378384

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]));
387393
});
388394

389395
test('should handle policies with various data types', () async {
@@ -402,13 +408,14 @@ void main() {
402408
await storage.savePolicies(testPolicies);
403409
final loadedPolicies = await storage.loadPolicies();
404410

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);
412419
});
413420
});
414421

@@ -427,7 +434,8 @@ void main() {
427434
final loadedPolicies = await storage.loadPolicies();
428435
expect(
429436
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));
431439
});
432440

433441
test('should handle rapid load operations', () async {

test/core/policy_manager_test.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import 'package:flutter_policy_engine/src/core/interfaces/i_policy_storage.dart'
66
import 'package:flutter_policy_engine/src/models/policy.dart';
77

88
/// Mock implementation of IPolicyStorage for testing
9+
// ignore: must_be_immutable
910
class MockPolicyStorage implements IPolicyStorage {
1011
Map<String, dynamic> _policies = {};
1112
bool _shouldThrowError = false;
@@ -42,6 +43,7 @@ class MockPolicyStorage implements IPolicyStorage {
4243
}
4344

4445
/// Mock implementation of IPolicyEvaluator for testing
46+
// ignore: must_be_immutable
4547
class MockPolicyEvaluator implements IPolicyEvaluator {
4648
final Map<String, bool> _evaluationResults = {};
4749
bool _shouldThrowError = false;
Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1 @@
1-
import 'package:flutter_test/flutter_test.dart';
2-
3-
import 'package:flutter_policy_engine/flutter_policy_engine.dart';
4-
51
void main() {}

0 commit comments

Comments
 (0)