Refactor multi-flow mail capability boundaries
This commit is contained in:
@@ -185,6 +185,15 @@ test('extractVerificationCode returns first six-digit code from multilingual mai
|
||||
assert.equal(extractVerificationCode('No code here'), null);
|
||||
});
|
||||
|
||||
test('extractVerificationCode supports runtime mail rule patterns', () => {
|
||||
assert.equal(
|
||||
extractVerificationCode('Mailbox notice: use pin A-778899 to continue.', {
|
||||
codePatterns: [{ source: 'pin\\s+A-(\\d{6})', flags: 'i' }],
|
||||
}),
|
||||
'778899'
|
||||
);
|
||||
});
|
||||
|
||||
test('extractVerificationCodeFromMessage reads code from the latest message subject or preview', () => {
|
||||
assert.equal(
|
||||
extractVerificationCodeFromMessage({
|
||||
@@ -214,6 +223,30 @@ test('extractVerificationCodeFromMessage reads code from the latest message subj
|
||||
);
|
||||
});
|
||||
|
||||
test('pickVerificationMessageWithTimeFallback supports required keyword hints and runtime code patterns', () => {
|
||||
const messages = [
|
||||
{
|
||||
id: 'mail-1',
|
||||
subject: 'Security center',
|
||||
from: { emailAddress: { address: 'alerts@example.com' } },
|
||||
bodyPreview: 'Use pin A-661122 to continue',
|
||||
receivedDateTime: '2026-04-14T10:06:00.000Z',
|
||||
},
|
||||
];
|
||||
|
||||
const result = pickVerificationMessageWithTimeFallback(messages, {
|
||||
afterTimestamp: 0,
|
||||
senderFilters: [],
|
||||
subjectFilters: [],
|
||||
requiredKeywords: ['security'],
|
||||
codePatterns: [{ source: 'pin\\s+A-(\\d{6})', flags: 'i' }],
|
||||
excludeCodes: [],
|
||||
});
|
||||
|
||||
assert.equal(result.match?.code, '661122');
|
||||
assert.equal(result.usedTimeFallback, false);
|
||||
});
|
||||
|
||||
test('getHotmailListToggleLabel reflects expanded state and account count', () => {
|
||||
assert.equal(getHotmailListToggleLabel(false, 0), '展开列表');
|
||||
assert.equal(getHotmailListToggleLabel(false, 7), '展开列表(7)');
|
||||
|
||||
Reference in New Issue
Block a user