Files

60 lines
1.5 KiB
JavaScript

const test = require('node:test');
const assert = require('node:assert/strict');
const {
extractVerificationCode,
findNewQQVerificationCode,
} = require('../shared/qq-mail.js');
test('extractVerificationCode reads 6-digit codes from QQ mail text', () => {
assert.equal(
extractVerificationCode('你的 ChatGPT 代码为 479637,请勿泄露。'),
'479637'
);
});
test('findNewQQVerificationCode rejects matching emails that already existed before polling', () => {
const result = findNewQQVerificationCode([
{
mailId: 'old-1',
sender: 'OpenAI',
subject: '你的 ChatGPT 代码为 479637',
digest: '用于验证你的邮箱地址',
},
], {
existingMailIds: ['old-1'],
senderFilters: ['openai', 'verify'],
subjectFilters: ['code', '验证'],
});
assert.equal(result, null);
});
test('findNewQQVerificationCode accepts the first new matching email', () => {
const result = findNewQQVerificationCode([
{
mailId: 'old-1',
sender: 'OpenAI',
subject: '你的 ChatGPT 代码为 111111',
digest: '旧邮件',
},
{
mailId: 'new-1',
sender: 'OpenAI',
subject: '你的 ChatGPT 代码为 222222',
digest: '新邮件',
},
], {
existingMailIds: ['old-1'],
senderFilters: ['openai', 'verify'],
subjectFilters: ['code', '验证'],
});
assert.deepEqual(result, {
code: '222222',
mailId: 'new-1',
source: 'new',
subject: '你的 ChatGPT 代码为 222222',
});
});