forked from jamal-and/flutter_feature_generator
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript_test.sh
More file actions
executable file
·69 lines (58 loc) · 3.01 KB
/
script_test.sh
File metadata and controls
executable file
·69 lines (58 loc) · 3.01 KB
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/bin/bash
# ==================== CLEAN FEATURE GENERATOR TEST SUITE ====================
echo "Starting Test Suite..."
echo "----------------------------------------"
# ============ 1. Riverpod Combinations ============
echo "TEST GROUP 1: Riverpod Variations"
flutter_feature_generator "Riverpod_Basic" --riverpod
flutter_feature_generator "Riverpod_Freezed" --riverpod --freezed
flutter_feature_generator "Riverpod_Tests" --riverpod --test
flutter_feature_generator "Riverpod_Full" --riverpod --freezed --test
echo "----------------------------------------"
# ============ 2. BLoC Combinations ============
echo "TEST GROUP 2: BLoC Variations"
flutter_feature_generator "Bloc_Basic" --bloc
flutter_feature_generator "Bloc_Freezed" --bloc --freezed
flutter_feature_generator "Bloc_Tests" --bloc --test
flutter_feature_generator "Bloc_Full" --bloc --freezed --test
echo "----------------------------------------"
# ============ 3. Cubit Combinations ============
echo "TEST GROUP 3: Cubit Variations"
flutter_feature_generator "Cubit_Basic" --cubit
flutter_feature_generator "Cubit_Freezed" --cubit --freezed
flutter_feature_generator "Cubit_Tests" --cubit --test
flutter_feature_generator "Cubit_Full" --cubit --freezed --test
echo "----------------------------------------"
# ============ 4. Minimal Features ============
echo "TEST GROUP 4: No State Management"
flutter_feature_generator "Minimal_Basic"
flutter_feature_generator "Minimal_Freezed" --freezed
flutter_feature_generator "Minimal_Tests" --test
flutter_feature_generator "Minimal_Full" --freezed --test
echo "----------------------------------------"
# ============ 5. Edge Cases ============
echo "TEST GROUP 5: Edge Cases"
flutter_feature_generator "Edge_Numbers123" --riverpod --freezed
flutter_feature_generator "Edge_Hyphen-Name" --bloc --test
flutter_feature_generator "Edge_Long Name With Spaces" --cubit --freezed
flutter_feature_generator "Edge_X" --riverpod # Shortest possible name
echo "----------------------------------------"
# ============ 6. Error Cases ============
echo "TEST GROUP 6: Expected Failures"
flutter_feature_generator # Should fail - no name
flutter_feature_generator "Error_Conflict1" --riverpod --bloc # Should fail
flutter_feature_generator "Error_Conflict2" --bloc --cubit # Should fail
flutter_feature_generator "Error_BadFlag" --invalid-flag # Should fail
flutter_feature_generator --riverpod # Should fail - no name
echo "----------------------------------------"
# ============ 7. Real-world Examples ============
echo "TEST GROUP 7: Real-world Scenarios"
flutter_feature_generator "Real_PlayerProfile" --bloc --freezed --test
flutter_feature_generator "Real_MatchDetails" --riverpod --freezed --test
flutter_feature_generator "Real_AppSettings" --riverpod --test
flutter_feature_generator "Real_Analytics" --cubit
echo "----------------------------------------"
echo "Test Suite Completed!"
echo "Check generated features in lib/features/"
echo "For Freezed features, run: dart run build_runner build"
dart run build_runner build --delete-conflicting-outputs