Skip to content

Commit 5edba33

Browse files
committed
Fix redux, rename/refactor repository and add tests
1 parent 207f857 commit 5edba33

File tree

88 files changed

+450
-210
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+450
-210
lines changed

bloc_flutter/lib/main.dart

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@ import 'package:flutter/widgets.dart';
1010
import 'package:key_value_store_flutter/key_value_store_flutter.dart';
1111
import 'package:shared_preferences/shared_preferences.dart';
1212
import 'package:todos_repository_core/todos_repository_core.dart';
13-
import 'package:todos_repository_simple/todos_repository_simple.dart';
13+
import 'package:todos_repository_local_storage/todos_repository_local_storage.dart';
1414

1515
Future<void> main() async {
1616
WidgetsFlutterBinding.ensureInitialized();
1717

1818
runApp(BlocApp(
1919
todosInteractor: TodosInteractor(
20-
ReactiveTodosRepositoryFlutter(
20+
ReactiveLocalStorageRepository(
2121
repository: LocalStorageRepository(
22-
localStorage: LocalStorage(
22+
localStorage: KeyValueStorage(
2323
'bloc_todos',
2424
FlutterKeyValueStore(await SharedPreferences.getInstance()),
2525
),

bloc_flutter/lib/main_web.dart

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@ import 'package:blocs/blocs.dart';
1010
import 'package:flutter/widgets.dart';
1111
import 'package:key_value_store_web/key_value_store_web.dart';
1212
import 'package:todos_repository_core/todos_repository_core.dart';
13-
import 'package:todos_repository_simple/todos_repository_simple.dart';
13+
import 'package:todos_repository_local_storage/todos_repository_local_storage.dart';
1414

1515
Future<void> main() async {
1616
WidgetsFlutterBinding.ensureInitialized();
1717

1818
runApp(BlocApp(
1919
todosInteractor: TodosInteractor(
20-
ReactiveTodosRepositoryFlutter(
20+
ReactiveLocalStorageRepository(
2121
repository: LocalStorageRepository(
22-
localStorage: LocalStorage(
22+
localStorage: KeyValueStorage(
2323
'bloc_todos',
2424
WebKeyValueStore(window.localStorage),
2525
),

bloc_flutter/pubspec.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ environment:
1919
dependencies:
2020
flutter:
2121
sdk: flutter
22-
todos_repository_simple:
23-
path: ../todos_repository_simple
22+
todos_repository_local_storage:
23+
path: ../todos_repository_local_storage
2424
firebase_flutter_repository:
2525
path: ../firebase_flutter_repository
2626
todos_app_core:

bloc_library/lib/blocs/todos/todos_bloc.dart

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import 'package:meta/meta.dart';
99
import 'package:bloc_library/blocs/todos/todos.dart';
1010
import 'package:bloc_library/models/models.dart';
1111
import 'package:todos_repository_core/todos_repository_core.dart';
12-
import 'package:todos_repository_simple/todos_repository_simple.dart';
1312

1413
class TodosBloc extends Bloc<TodosEvent, TodosState> {
1514
final TodosRepository todosRepository;

bloc_library/lib/main.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ import 'package:bloc_library/run_app.dart';
22
import 'package:flutter/cupertino.dart';
33
import 'package:key_value_store_flutter/key_value_store_flutter.dart';
44
import 'package:shared_preferences/shared_preferences.dart';
5-
import 'package:todos_repository_simple/todos_repository_simple.dart';
5+
import 'package:todos_repository_local_storage/todos_repository_local_storage.dart';
66

77
Future<void> main() async {
88
WidgetsFlutterBinding.ensureInitialized();
99

1010
runBlocLibraryApp(LocalStorageRepository(
11-
localStorage: LocalStorage(
11+
localStorage: KeyValueStorage(
1212
'bloc_library',
1313
FlutterKeyValueStore(await SharedPreferences.getInstance()),
1414
),

bloc_library/lib/main_web.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ import 'dart:html';
33
import 'package:bloc_library/run_app.dart';
44
import 'package:flutter/cupertino.dart';
55
import 'package:key_value_store_web/key_value_store_web.dart';
6-
import 'package:todos_repository_simple/todos_repository_simple.dart';
6+
import 'package:todos_repository_local_storage/todos_repository_local_storage.dart';
77

88
Future<void> main() async {
99
WidgetsFlutterBinding.ensureInitialized();
1010

1111
runBlocLibraryApp(LocalStorageRepository(
12-
localStorage: LocalStorage(
12+
localStorage: KeyValueStorage(
1313
'bloc_library',
1414
WebKeyValueStore(window.localStorage),
1515
),

bloc_library/pubspec.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ dependencies:
2121
sdk: flutter
2222
todos_app_core:
2323
path: ../todos_app_core
24-
todos_repository_simple:
25-
path: ../todos_repository_simple
24+
todos_repository_local_storage:
25+
path: ../todos_repository_local_storage
2626
todos_repository_core:
2727
path: ../todos_repository_core
2828
meta: ">=1.1.0 <2.0.0"

bloc_library/test/blocs/filtered_todos_bloc_test.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ import 'package:flutter_test/flutter_test.dart';
88
import 'package:mockito/mockito.dart';
99
import 'package:bloc_library/blocs/blocs.dart';
1010
import 'package:bloc_library/models/models.dart';
11-
import 'package:todos_repository_simple/todos_repository_simple.dart';
11+
import 'package:todos_repository_local_storage/todos_repository_local_storage.dart';
1212

1313
class MockTodosBloc extends MockBloc<TodosEvent, TodosState>
1414
implements TodosBloc {}
1515

16-
class MockTodosRepository extends Mock implements TodosRepositoryFlutter {}
16+
class MockTodosRepository extends Mock implements LocalStorageRepository {}
1717

1818
void main() {
1919
group('FilteredTodosBloc', () {

bloc_library/test/blocs/todos_bloc_test.dart

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ import 'package:flutter_test/flutter_test.dart';
77
import 'package:mockito/mockito.dart';
88
import 'package:bloc_library/blocs/todos/todos.dart';
99
import 'package:bloc_library/models/models.dart';
10-
import 'package:todos_repository_simple/todos_repository_simple.dart';
10+
import 'package:todos_repository_local_storage/todos_repository_local_storage.dart';
1111

12-
class MockTodosRepository extends Mock implements TodosRepositoryFlutter {}
12+
class MockTodosRepository extends Mock implements LocalStorageRepository {}
1313

1414
void main() {
1515
group('TodosBloc', () {
16-
TodosRepositoryFlutter todosRepository;
16+
LocalStorageRepository todosRepository;
1717
TodosBloc todosBloc;
1818

1919
setUp(() {

change_notifier_provider/lib/main.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ import 'package:change_notifier_provider_sample/app.dart';
66
import 'package:flutter/material.dart';
77
import 'package:key_value_store_flutter/key_value_store_flutter.dart';
88
import 'package:shared_preferences/shared_preferences.dart';
9-
import 'package:todos_repository_simple/todos_repository_simple.dart';
9+
import 'package:todos_repository_local_storage/todos_repository_local_storage.dart';
1010

1111
Future<void> main() async {
1212
runApp(ProviderApp(
1313
repository: LocalStorageRepository(
14-
localStorage: LocalStorage(
14+
localStorage: KeyValueStorage(
1515
'change_notifier_provider_todos',
1616
FlutterKeyValueStore(await SharedPreferences.getInstance()),
1717
),

change_notifier_provider/lib/main_web.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ import 'dart:html';
77
import 'package:change_notifier_provider_sample/app.dart';
88
import 'package:flutter/material.dart';
99
import 'package:key_value_store_web/key_value_store_web.dart';
10-
import 'package:todos_repository_simple/todos_repository_simple.dart';
10+
import 'package:todos_repository_local_storage/todos_repository_local_storage.dart';
1111

1212
Future<void> main() async {
1313
runApp(ProviderApp(
1414
repository: LocalStorageRepository(
15-
localStorage: LocalStorage(
15+
localStorage: KeyValueStorage(
1616
'change_notifier_provider',
1717
WebKeyValueStore(window.localStorage),
1818
),

change_notifier_provider/pubspec.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ environment:
1818

1919
dependencies:
2020
provider: ^4.0.1
21-
todos_repository_simple:
22-
path: ../todos_repository_simple
21+
todos_repository_local_storage:
22+
path: ../todos_repository_local_storage
2323
todos_app_core:
2424
path: ../todos_app_core
2525
flutter:

firestore_redux/ios/Runner.xcodeproj/project.pbxproj

+66
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
1212
3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; };
1313
3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
14+
3DC6C12F0C8DFDEB46BBFD03 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A9BD3573C89AFE68E3A21F6 /* Pods_Runner.framework */; };
1415
4EEE3E9123C493B90065A5A2 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 4EEE3E9023C493B80065A5A2 /* GoogleService-Info.plist */; };
1516
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
1617
9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; };
@@ -38,12 +39,15 @@
3839
/* Begin PBXFileReference section */
3940
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
4041
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
42+
32DF067C14C43DCE0F4AD703 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
43+
3A9BD3573C89AFE68E3A21F6 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
4144
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
4245
3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = "<group>"; };
4346
4EEE3E9023C493B80065A5A2 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
4447
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
4548
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
4649
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
50+
8C698F6ECF0154F865792E58 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
4751
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
4852
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
4953
9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = "<group>"; };
@@ -52,6 +56,7 @@
5256
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
5357
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
5458
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
59+
9E51BC1BAB575DF40A23CCE8 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
5560
/* End PBXFileReference section */
5661

5762
/* Begin PBXFrameworksBuildPhase section */
@@ -61,12 +66,32 @@
6166
files = (
6267
9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */,
6368
3B80C3941E831B6300D905FE /* App.framework in Frameworks */,
69+
3DC6C12F0C8DFDEB46BBFD03 /* Pods_Runner.framework in Frameworks */,
6470
);
6571
runOnlyForDeploymentPostprocessing = 0;
6672
};
6773
/* End PBXFrameworksBuildPhase section */
6874

6975
/* Begin PBXGroup section */
76+
14C49F13D6D71163E2B1EDBD /* Frameworks */ = {
77+
isa = PBXGroup;
78+
children = (
79+
3A9BD3573C89AFE68E3A21F6 /* Pods_Runner.framework */,
80+
);
81+
name = Frameworks;
82+
sourceTree = "<group>";
83+
};
84+
6535F9FC413878FBAB23E085 /* Pods */ = {
85+
isa = PBXGroup;
86+
children = (
87+
8C698F6ECF0154F865792E58 /* Pods-Runner.debug.xcconfig */,
88+
32DF067C14C43DCE0F4AD703 /* Pods-Runner.release.xcconfig */,
89+
9E51BC1BAB575DF40A23CCE8 /* Pods-Runner.profile.xcconfig */,
90+
);
91+
name = Pods;
92+
path = Pods;
93+
sourceTree = "<group>";
94+
};
7095
9740EEB11CF90186004384FC /* Flutter */ = {
7196
isa = PBXGroup;
7297
children = (
@@ -86,6 +111,8 @@
86111
9740EEB11CF90186004384FC /* Flutter */,
87112
97C146F01CF9000F007C117D /* Runner */,
88113
97C146EF1CF9000F007C117D /* Products */,
114+
6535F9FC413878FBAB23E085 /* Pods */,
115+
14C49F13D6D71163E2B1EDBD /* Frameworks */,
89116
);
90117
sourceTree = "<group>";
91118
};
@@ -128,12 +155,14 @@
128155
isa = PBXNativeTarget;
129156
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
130157
buildPhases = (
158+
DA25481C73BA8ED396688A6A /* [CP] Check Pods Manifest.lock */,
131159
9740EEB61CF901F6004384FC /* Run Script */,
132160
97C146EA1CF9000F007C117D /* Sources */,
133161
97C146EB1CF9000F007C117D /* Frameworks */,
134162
97C146EC1CF9000F007C117D /* Resources */,
135163
9705A1C41CF9048500538489 /* Embed Frameworks */,
136164
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
165+
733B60DD2D2D2F65ABD9C4F3 /* [CP] Embed Pods Frameworks */,
137166
);
138167
buildRules = (
139168
);
@@ -207,6 +236,21 @@
207236
shellPath = /bin/sh;
208237
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin";
209238
};
239+
733B60DD2D2D2F65ABD9C4F3 /* [CP] Embed Pods Frameworks */ = {
240+
isa = PBXShellScriptBuildPhase;
241+
buildActionMask = 2147483647;
242+
files = (
243+
);
244+
inputPaths = (
245+
);
246+
name = "[CP] Embed Pods Frameworks";
247+
outputPaths = (
248+
);
249+
runOnlyForDeploymentPostprocessing = 0;
250+
shellPath = /bin/sh;
251+
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
252+
showEnvVarsInLog = 0;
253+
};
210254
9740EEB61CF901F6004384FC /* Run Script */ = {
211255
isa = PBXShellScriptBuildPhase;
212256
buildActionMask = 2147483647;
@@ -221,6 +265,28 @@
221265
shellPath = /bin/sh;
222266
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
223267
};
268+
DA25481C73BA8ED396688A6A /* [CP] Check Pods Manifest.lock */ = {
269+
isa = PBXShellScriptBuildPhase;
270+
buildActionMask = 2147483647;
271+
files = (
272+
);
273+
inputFileListPaths = (
274+
);
275+
inputPaths = (
276+
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
277+
"${PODS_ROOT}/Manifest.lock",
278+
);
279+
name = "[CP] Check Pods Manifest.lock";
280+
outputFileListPaths = (
281+
);
282+
outputPaths = (
283+
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
284+
);
285+
runOnlyForDeploymentPostprocessing = 0;
286+
shellPath = /bin/sh;
287+
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
288+
showEnvVarsInLog = 0;
289+
};
224290
/* End PBXShellScriptBuildPhase section */
225291

226292
/* Begin PBXSourcesBuildPhase section */

firestore_redux/pubspec.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ dev_dependencies:
3636
mockito:
3737
integration_tests:
3838
path: ../integration_tests
39-
todos_repository_simple:
40-
path: ../todos_repository_simple
39+
todos_repository_local_storage:
40+
path: ../todos_repository_local_storage
4141

4242
# For information on the generic Dart part of this file, see the
4343
# following page: https://dart.dev/tools/pub/pubspec

firestore_redux/test_driver/mock_reactive_repository.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import 'dart:async';
66

77
import 'package:todos_repository_core/todos_repository_core.dart';
8-
import 'package:todos_repository_simple/todos_repository_simple.dart';
8+
import 'package:todos_repository_local_storage/todos_repository_local_storage.dart';
99

1010
class MockUserRepository implements UserRepository {
1111
@override

frideos_library/lib/app_state.dart

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import 'package:path_provider/path_provider.dart';
22

3-
import 'package:todos_repository_simple/todos_repository_simple.dart';
3+
import 'package:todos_repository_local_storage/todos_repository_local_storage.dart';
44

55
import 'package:frideos/frideos.dart';
66

@@ -17,15 +17,15 @@ class AppState extends AppStateModel {
1717
return _singletonAppState;
1818
}
1919

20-
TodosRepositoryFlutter respository;
20+
LocalStorageRepository respository;
2121
TodosBloc todosBloc;
2222
StatsBloc statsBloc;
2323
final tabController = StreamedValue<AppTab>(initialData: AppTab.todos);
2424

2525
@override
2626
void init() {
27-
respository = const TodosRepositoryFlutter(
28-
fileStorage: FileStorage(
27+
respository = const LocalStorageRepository(
28+
localStorage: FileStorage(
2929
'frideos_library',
3030
getApplicationDocumentsDirectory,
3131
),

frideos_library/pubspec.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ dependencies:
2222
frideos: ^1.0.0+1
2323
todos_app_core:
2424
path: ../todos_app_core
25-
todos_repository_simple:
26-
path: ../todos_repository_simple
25+
todos_repository_local_storage:
26+
path: ../todos_repository_local_storage
2727

2828
dev_dependencies:
2929
flutter_test:

0 commit comments

Comments
 (0)