TF-3002 Write test to ensure search filter send to interactor is exactly which user changed

This commit is contained in:
dab246
2024-10-03 15:54:01 +07:00
committed by Dat H. Pham
parent 63e6a8ab00
commit 518be4416d
@@ -487,9 +487,45 @@ void main() {
filterOption: FilterMessageOption.all,
mailboxId: testMailboxId),
propertiesCreated: ThreadConstants.propertiesDefault,
propertiesUpdated: ThreadConstants.propertiesUpdatedDefault));
propertiesUpdated: ThreadConstants.propertiesUpdatedDefault
)).called(1);
});
test(
'WHEN user search email by keyword\n'
'THEN user select chip filter\n'
'SHOULD search filter matched with user changed',
() async {
// arrange
when(context.owner).thenReturn(BuildOwner(focusManager: FocusManager()));
// act
mailboxDashboardController.searchEmail(queryString: queryString);
mailboxDashboardController.selectSortOrderQuickSearchFilter(context, EmailSortOrderType.oldest);
mailboxDashboardController.selectHasAttachmentSearchFilter();
mailboxDashboardController.selectReceiveTimeQuickSearchFilter(context, EmailReceiveTimeType.last30Days);
await untilCalled(searchEmailInteractor.execute(
any,
any,
limit: anyNamed('limit'),
position: anyNamed('position'),
sort: anyNamed('sort'),
filter: anyNamed('filter'),
properties: anyNamed('properties')));
// assert
expect(
searchController.searchEmailFilter.value,
SearchEmailFilter(
text: SearchQuery(queryString),
emailReceiveTimeType: EmailReceiveTimeType.last30Days,
hasAttachment: true,
sortOrder: EmailSortOrderType.oldest.getSortOrder().toNullable()
)
);
});
tearDown(Get.deleteAll);
});