Skip to content

Commit 8003a93

Browse files
committed
[#31] Update flows
1 parent 1605823 commit 8003a93

File tree

4 files changed

+20
-19
lines changed

4 files changed

+20
-19
lines changed

lib/model/response/survey_response.dart

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,9 @@ class SurveyResponse {
2626
id: id ?? '',
2727
title: title ?? '',
2828
description: description ?? '',
29-
coverImageUrl: getHighQualityCoverImageUrl(),
29+
coverImageUrl: highResolutionCoverImageUrl,
3030
);
3131

32-
String getHighQualityCoverImageUrl() {
33-
return (coverImageUrl != null) ? "${coverImageUrl}l" : "";
34-
}
32+
String get highResolutionCoverImageUrl =>
33+
(coverImageUrl != null) ? "${coverImageUrl}l" : "";
3534
}

lib/screens/home/home_screen.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ class _HomeScreenState extends ConsumerState<HomeScreen> {
3434
}
3535

3636
Future<void> _initData() async {
37-
ref.read(homeViewModelProvider.notifier).loadCachedSurveys();
3837
ref.read(homeViewModelProvider.notifier).loadSurveys();
3938
}
4039

lib/screens/home/home_view_model.dart

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,11 @@ class HomeViewModel extends StateNotifier<HomeState> {
4040
Stream<String> get error => _error.stream;
4141

4242
void loadSurveys() async {
43+
_loadSurveysFromCache();
44+
_loadSurveysFromRemote();
45+
}
46+
47+
void _loadSurveysFromRemote() async {
4348
final result = await _getSurveysUseCase.call(SurveysParams(
4449
pageNumber: _pageNumber,
4550
pageSize: _pageSize,
@@ -54,7 +59,7 @@ class HomeViewModel extends StateNotifier<HomeState> {
5459
}
5560
}
5661

57-
void loadCachedSurveys() async {
62+
void _loadSurveysFromCache() async {
5863
final result = await _getCachedSurveysUseCase.call();
5964
if (result is Success<List<SurveyModel>>) {
6065
final cachedSurveys =

test/screens/home/home_view_model_test.dart

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -41,28 +41,23 @@ void main() {
4141
});
4242

4343
test(
44-
'loads surveys successfully and emits LoadSurveysSuccess state',
44+
'loads surveys successfully and emits LoadSurveysSuccess and LoadCacheSurveysSuccess states',
4545
() async {
4646
when(mockGetSurveysUseCase.call(any)).thenAnswer(
4747
(_) async => Success(surveys),
4848
);
49-
final surveysStream = homeViewModel.surveys;
50-
homeViewModel.loadSurveys();
51-
expect(surveysStream, emitsInOrder([surveys]));
52-
},
53-
);
54-
55-
test(
56-
'loads cached surveys successfully and emits LoadCachedSurveysSuccess state',
57-
() async {
5849
when(mockGetCachedSurveysUseCase.call())
5950
.thenAnswer((_) => Future.value(Success(surveys)));
6051
final surveysStream = homeViewModel.surveys;
6152
final stateStream = homeViewModel.stream;
62-
homeViewModel.loadCachedSurveys();
53+
homeViewModel.loadSurveys();
6354
expect(surveysStream, emitsInOrder([surveys]));
64-
expect(stateStream,
65-
emitsInOrder([const HomeState.loadCachedSurveysSuccess()]));
55+
expect(
56+
stateStream,
57+
emitsInOrder([
58+
const HomeState.loadCachedSurveysSuccess(),
59+
const HomeState.loadSurveysSuccess()
60+
]));
6661
},
6762
);
6863

@@ -72,6 +67,9 @@ void main() {
7267
when(mockGetSurveysUseCase.call(any)).thenAnswer(
7368
(_) async => Failed(exception),
7469
);
70+
when(mockGetCachedSurveysUseCase.call()).thenAnswer(
71+
(_) async => Failed(exception),
72+
);
7573
final errorStream = homeViewModel.error;
7674
homeViewModel.loadSurveys();
7775
expect(

0 commit comments

Comments
 (0)