TF-3334 Synchonize cache all the time have new changes even in search or not
This commit is contained in:
committed by
Dat H. Pham
parent
2d976bed18
commit
c63e3d2973
@@ -557,6 +557,8 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
}
|
||||
|
||||
Future<void> _refreshChangeSearchEmail() async {
|
||||
await _refreshChangeListEmailCache();
|
||||
|
||||
log('ThreadController::_refreshChangeSearchEmail:');
|
||||
canSearchMore = false;
|
||||
searchController.updateFilterEmail(
|
||||
@@ -596,9 +598,8 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> _refreshChangeListEmail() async {
|
||||
log('ThreadController::_refreshChangeListEmail:');
|
||||
final refreshViewState = await _refreshChangesEmailsInMailboxInteractor.execute(
|
||||
Future<Either<Failure, Success>> _refreshChangeListEmailCache() async {
|
||||
return _refreshChangesEmailsInMailboxInteractor.execute(
|
||||
_session!,
|
||||
_accountId!,
|
||||
mailboxDashBoardController.currentEmailState!,
|
||||
@@ -614,6 +615,11 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
mailboxId: selectedMailboxId,
|
||||
),
|
||||
).last;
|
||||
}
|
||||
|
||||
Future<void> _refreshChangeListEmail() async {
|
||||
log('ThreadController::_refreshChangeListEmail:');
|
||||
final refreshViewState = await _refreshChangeListEmailCache();
|
||||
|
||||
final refreshState = refreshViewState
|
||||
.foldSuccessWithResult<RefreshChangesAllEmailSuccess>();
|
||||
|
||||
@@ -35,6 +35,7 @@ import 'package:tmail_ui_user/features/network_connection/presentation/network_c
|
||||
import 'package:tmail_ui_user/features/thread/domain/constants/thread_constants.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/model/filter_message_option.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/state/refresh_changes_all_email_state.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/state/search_email_state.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/usecases/get_email_by_id_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/usecases/get_emails_in_mailbox_interactor.dart';
|
||||
@@ -302,6 +303,19 @@ void main() {
|
||||
properties: anyNamed('properties'),
|
||||
needRefreshSearchState: anyNamed('needRefreshSearchState'),
|
||||
)).thenAnswer((_) => Stream.value(Right(SearchEmailSuccess(emailList))));
|
||||
|
||||
when(mockRefreshChangesEmailsInMailboxInteractor.execute(
|
||||
any,
|
||||
any,
|
||||
any,
|
||||
sort: anyNamed('sort'),
|
||||
propertiesCreated: anyNamed('propertiesCreated'),
|
||||
propertiesUpdated: anyNamed('propertiesUpdated'),
|
||||
emailFilter: anyNamed('emailFilter'),
|
||||
)).thenAnswer((_) => Stream.value(Right(RefreshChangesAllEmailSuccess(
|
||||
emailList: emailList,
|
||||
currentEmailState: State('old-state'))))
|
||||
);
|
||||
|
||||
// Act
|
||||
threadController.onInit();
|
||||
|
||||
Reference in New Issue
Block a user