TF-4142 Add tests to verify inMailbox in filter
This commit is contained in:
@@ -367,4 +367,77 @@ void main() {
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
group('inMailbox parameter - regression test', () {
|
||||
test(
|
||||
'Default mailbox with All filter → includes inMailbox',
|
||||
() {
|
||||
final testMailbox = mailbox(); // inbox with id 'inbox'
|
||||
final builder = MailboxFilterBuilder(
|
||||
selectedMailbox: testMailbox,
|
||||
filterMessageOption: FilterMessageOption.all,
|
||||
);
|
||||
|
||||
final emailFilter = builder.buildEmailFilterForLoadMailbox();
|
||||
final filter = emailFilter.filter as EmailFilterCondition;
|
||||
|
||||
// Verify inMailbox is present
|
||||
expect(filter.inMailbox, equals(testMailbox.id));
|
||||
},
|
||||
);
|
||||
|
||||
test(
|
||||
'Default mailbox with Unread filter → includes inMailbox',
|
||||
() {
|
||||
final testMailbox = mailbox();
|
||||
final builder = MailboxFilterBuilder(
|
||||
selectedMailbox: testMailbox,
|
||||
filterMessageOption: FilterMessageOption.unread,
|
||||
);
|
||||
|
||||
final emailFilter = builder.buildEmailFilterForLoadMailbox();
|
||||
final filter = emailFilter.filter as EmailFilterCondition;
|
||||
|
||||
expect(filter.inMailbox, equals(testMailbox.id));
|
||||
expect(filter.notKeyword, KeyWordIdentifier.emailSeen.value);
|
||||
},
|
||||
);
|
||||
|
||||
test(
|
||||
'Default mailbox with Attachments filter → includes inMailbox',
|
||||
() {
|
||||
final testMailbox = mailbox();
|
||||
final builder = MailboxFilterBuilder(
|
||||
selectedMailbox: testMailbox,
|
||||
filterMessageOption: FilterMessageOption.attachments,
|
||||
);
|
||||
|
||||
final emailFilter = builder.buildEmailFilterForLoadMailbox();
|
||||
final filter = emailFilter.filter as EmailFilterCondition;
|
||||
|
||||
expect(filter.inMailbox, equals(testMailbox.id));
|
||||
expect(filter.hasAttachment, true);
|
||||
},
|
||||
);
|
||||
|
||||
test(
|
||||
'Virtual folder Action Required → does NOT include inMailbox',
|
||||
() {
|
||||
final builder = MailboxFilterBuilder(
|
||||
selectedMailbox: mailbox(actionRequired: true),
|
||||
filterMessageOption: FilterMessageOption.all,
|
||||
);
|
||||
|
||||
final emailFilter = builder.buildEmailFilterForLoadMailbox();
|
||||
final filter = emailFilter.filter as EmailFilterCondition;
|
||||
|
||||
// Virtual folders should NOT have inMailbox - they aggregate across all
|
||||
expect(filter.inMailbox, isNull);
|
||||
expect(
|
||||
filter.hasKeyword,
|
||||
KeyWordIdentifierExtension.needsActionMail.value,
|
||||
);
|
||||
},
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user