TF-868: Unread/new emails are not loaded when opening folder

This commit is contained in:
ManhNTX
2022-09-07 10:32:04 +07:00
committed by Dat H. Pham
parent c213892746
commit 98f297f24d
13 changed files with 152 additions and 75 deletions
@@ -1,29 +1,29 @@
// Mocks generated by Mockito 5.0.17 from annotations
// Mocks generated by Mockito 5.2.0 from annotations
// in tmail_ui_user/test/features/thread/domain/usecases/get_emails_in_mailbox_interactor_test.dart.
// Do not manually edit this file.
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'dart:async' as _i3;
import 'package:jmap_dart_client/jmap/account_id.dart' as _i5;
import 'package:jmap_dart_client/jmap/core/filter/filter.dart' as _i15;
import 'package:jmap_dart_client/jmap/core/filter/filter.dart' as _i13;
import 'package:jmap_dart_client/jmap/core/properties/properties.dart' as _i9;
import 'package:jmap_dart_client/jmap/core/sort/comparator.dart' as _i7;
import 'package:jmap_dart_client/jmap/core/state.dart' as _i10;
import 'package:jmap_dart_client/jmap/core/unsigned_int.dart' as _i6;
import 'package:jmap_dart_client/jmap/mail/email/email.dart' as _i14;
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart' as _i11;
import 'package:jmap_dart_client/jmap/mail/email/email.dart' as _i12;
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart' as _i14;
import 'package:mockito/mockito.dart' as _i1;
import 'package:tmail_ui_user/features/thread/domain/model/email_filter.dart'
as _i8;
import 'package:tmail_ui_user/features/thread/domain/model/email_response.dart'
as _i4;
import 'package:tmail_ui_user/features/thread/domain/model/filter_message_option.dart'
as _i12;
import 'package:tmail_ui_user/features/thread/domain/model/get_email_request.dart'
as _i13;
as _i11;
import 'package:tmail_ui_user/features/thread/domain/repository/thread_repository.dart'
as _i2;
// ignore_for_file: type=lint
// ignore_for_file: avoid_redundant_argument_values
// ignore_for_file: avoid_setters_without_getters
// ignore_for_file: comment_references
@@ -64,34 +64,32 @@ class MockThreadRepository extends _i1.Mock implements _i2.ThreadRepository {
_i3.Stream<_i4.EmailsResponse> refreshChanges(
_i5.AccountId? accountId, _i10.State? currentState,
{Set<_i7.Comparator>? sort,
_i8.EmailFilter? emailFilter,
_i9.Properties? propertiesCreated,
_i9.Properties? propertiesUpdated,
_i11.MailboxId? inMailboxId,
_i12.FilterMessageOption? filterOption}) =>
_i9.Properties? propertiesUpdated}) =>
(super.noSuchMethod(
Invocation.method(#refreshChanges, [
accountId,
currentState
], {
#sort: sort,
#emailFilter: emailFilter,
#propertiesCreated: propertiesCreated,
#propertiesUpdated: propertiesUpdated,
#inMailboxId: inMailboxId,
#filterOption: filterOption
#propertiesUpdated: propertiesUpdated
}),
returnValue: Stream<_i4.EmailsResponse>.empty())
as _i3.Stream<_i4.EmailsResponse>);
@override
_i3.Stream<_i4.EmailsResponse> loadMoreEmails(
_i13.GetEmailRequest? emailRequest) =>
_i11.GetEmailRequest? emailRequest) =>
(super.noSuchMethod(Invocation.method(#loadMoreEmails, [emailRequest]),
returnValue: Stream<_i4.EmailsResponse>.empty())
as _i3.Stream<_i4.EmailsResponse>);
@override
_i3.Future<List<_i14.Email>> searchEmails(_i5.AccountId? accountId,
_i3.Future<List<_i12.Email>> searchEmails(_i5.AccountId? accountId,
{_i6.UnsignedInt? limit,
Set<_i7.Comparator>? sort,
_i15.Filter? filter,
_i13.Filter? filter,
_i9.Properties? properties}) =>
(super.noSuchMethod(
Invocation.method(#searchEmails, [
@@ -102,13 +100,13 @@ class MockThreadRepository extends _i1.Mock implements _i2.ThreadRepository {
#filter: filter,
#properties: properties
}),
returnValue: Future<List<_i14.Email>>.value(<_i14.Email>[]))
as _i3.Future<List<_i14.Email>>);
returnValue: Future<List<_i12.Email>>.value(<_i12.Email>[]))
as _i3.Future<List<_i12.Email>>);
@override
_i3.Future<List<_i14.EmailId>> emptyTrashFolder(
_i5.AccountId? accountId, _i11.MailboxId? trashMailboxId) =>
_i3.Future<List<_i12.EmailId>> emptyTrashFolder(
_i5.AccountId? accountId, _i14.MailboxId? trashMailboxId) =>
(super.noSuchMethod(
Invocation.method(#emptyTrashFolder, [accountId, trashMailboxId]),
returnValue: Future<List<_i14.EmailId>>.value(<_i14.EmailId>[]))
as _i3.Future<List<_i14.EmailId>>);
returnValue: Future<List<_i12.EmailId>>.value(<_i12.EmailId>[]))
as _i3.Future<List<_i12.EmailId>>);
}
@@ -9,6 +9,7 @@ import 'package:flutter_test/flutter_test.dart';
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
import 'package:mockito/annotations.dart';
import 'package:mockito/mockito.dart';
import 'package:tmail_ui_user/features/thread/domain/model/email_filter.dart';
import 'package:tmail_ui_user/features/thread/domain/model/email_response.dart';
import 'package:tmail_ui_user/features/thread/domain/constants/thread_constants.dart';
import 'package:tmail_ui_user/features/thread/domain/repository/thread_repository.dart';
@@ -40,7 +41,8 @@ void main() {
sort: Set()..add(EmailComparator(EmailComparatorProperty.sentAt)..setIsAscending(false)),
propertiesCreated: ThreadConstants.propertiesDefault,
propertiesUpdated: ThreadConstants.propertiesUpdatedDefault,
inMailboxId: MailboxFixtures.inboxMailbox.id
emailFilter: EmailFilter(
mailboxId: MailboxFixtures.inboxMailbox.id)
)).thenAnswer((_) => Stream.fromIterable({
EmailsResponse(
emailList: {
@@ -59,7 +61,9 @@ void main() {
sort: Set()..add(EmailComparator(EmailComparatorProperty.sentAt)..setIsAscending(false)),
propertiesCreated: ThreadConstants.propertiesDefault,
propertiesUpdated: ThreadConstants.propertiesUpdatedDefault,
inMailboxId: MailboxFixtures.inboxMailbox.id);
emailFilter: EmailFilter(
mailboxId: MailboxFixtures.inboxMailbox.id),
);
final states = await streamStates.toList();
@@ -1,29 +1,29 @@
// Mocks generated by Mockito 5.0.17 from annotations
// Mocks generated by Mockito 5.2.0 from annotations
// in tmail_ui_user/test/features/thread/domain/usecases/refresh_changes_emails_in_mailbox_interactor_test.dart.
// Do not manually edit this file.
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'dart:async' as _i3;
import 'package:jmap_dart_client/jmap/account_id.dart' as _i5;
import 'package:jmap_dart_client/jmap/core/filter/filter.dart' as _i15;
import 'package:jmap_dart_client/jmap/core/filter/filter.dart' as _i13;
import 'package:jmap_dart_client/jmap/core/properties/properties.dart' as _i9;
import 'package:jmap_dart_client/jmap/core/sort/comparator.dart' as _i7;
import 'package:jmap_dart_client/jmap/core/state.dart' as _i10;
import 'package:jmap_dart_client/jmap/core/unsigned_int.dart' as _i6;
import 'package:jmap_dart_client/jmap/mail/email/email.dart' as _i14;
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart' as _i11;
import 'package:jmap_dart_client/jmap/mail/email/email.dart' as _i12;
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart' as _i14;
import 'package:mockito/mockito.dart' as _i1;
import 'package:tmail_ui_user/features/thread/domain/model/email_filter.dart'
as _i8;
import 'package:tmail_ui_user/features/thread/domain/model/email_response.dart'
as _i4;
import 'package:tmail_ui_user/features/thread/domain/model/filter_message_option.dart'
as _i12;
import 'package:tmail_ui_user/features/thread/domain/model/get_email_request.dart'
as _i13;
as _i11;
import 'package:tmail_ui_user/features/thread/domain/repository/thread_repository.dart'
as _i2;
// ignore_for_file: type=lint
// ignore_for_file: avoid_redundant_argument_values
// ignore_for_file: avoid_setters_without_getters
// ignore_for_file: comment_references
@@ -64,34 +64,32 @@ class MockThreadRepository extends _i1.Mock implements _i2.ThreadRepository {
_i3.Stream<_i4.EmailsResponse> refreshChanges(
_i5.AccountId? accountId, _i10.State? currentState,
{Set<_i7.Comparator>? sort,
_i8.EmailFilter? emailFilter,
_i9.Properties? propertiesCreated,
_i9.Properties? propertiesUpdated,
_i11.MailboxId? inMailboxId,
_i12.FilterMessageOption? filterOption}) =>
_i9.Properties? propertiesUpdated}) =>
(super.noSuchMethod(
Invocation.method(#refreshChanges, [
accountId,
currentState
], {
#sort: sort,
#emailFilter: emailFilter,
#propertiesCreated: propertiesCreated,
#propertiesUpdated: propertiesUpdated,
#inMailboxId: inMailboxId,
#filterOption: filterOption
#propertiesUpdated: propertiesUpdated
}),
returnValue: Stream<_i4.EmailsResponse>.empty())
as _i3.Stream<_i4.EmailsResponse>);
@override
_i3.Stream<_i4.EmailsResponse> loadMoreEmails(
_i13.GetEmailRequest? emailRequest) =>
_i11.GetEmailRequest? emailRequest) =>
(super.noSuchMethod(Invocation.method(#loadMoreEmails, [emailRequest]),
returnValue: Stream<_i4.EmailsResponse>.empty())
as _i3.Stream<_i4.EmailsResponse>);
@override
_i3.Future<List<_i14.Email>> searchEmails(_i5.AccountId? accountId,
_i3.Future<List<_i12.Email>> searchEmails(_i5.AccountId? accountId,
{_i6.UnsignedInt? limit,
Set<_i7.Comparator>? sort,
_i15.Filter? filter,
_i13.Filter? filter,
_i9.Properties? properties}) =>
(super.noSuchMethod(
Invocation.method(#searchEmails, [
@@ -102,13 +100,13 @@ class MockThreadRepository extends _i1.Mock implements _i2.ThreadRepository {
#filter: filter,
#properties: properties
}),
returnValue: Future<List<_i14.Email>>.value(<_i14.Email>[]))
as _i3.Future<List<_i14.Email>>);
returnValue: Future<List<_i12.Email>>.value(<_i12.Email>[]))
as _i3.Future<List<_i12.Email>>);
@override
_i3.Future<List<_i14.EmailId>> emptyTrashFolder(
_i5.AccountId? accountId, _i11.MailboxId? trashMailboxId) =>
_i3.Future<List<_i12.EmailId>> emptyTrashFolder(
_i5.AccountId? accountId, _i14.MailboxId? trashMailboxId) =>
(super.noSuchMethod(
Invocation.method(#emptyTrashFolder, [accountId, trashMailboxId]),
returnValue: Future<List<_i14.EmailId>>.value(<_i14.EmailId>[]))
as _i3.Future<List<_i14.EmailId>>);
returnValue: Future<List<_i12.EmailId>>.value(<_i12.EmailId>[]))
as _i3.Future<List<_i12.EmailId>>);
}