Files
FlowPilot/tests/hotmail-api-mode.test.js
T
QLHazyCoder fd531165a1 fix: align Hotmail API integration with current dev
- merge the latest dev changes into PR #69 before continuing the review flow
- keep Microsoft API mode while preserving mailbox-by-mailbox polling and verification filters
- update the Hotmail side panel copy and helper coverage for the repaired API path
2026-04-15 01:36:40 +08:00

46 lines
1.7 KiB
JavaScript

const test = require('node:test');
const assert = require('node:assert/strict');
const fs = require('node:fs');
test('Hotmail API对接界面文案应启用 remote 模式并隐藏禁用态', () => {
const html = fs.readFileSync('sidepanel/sidepanel.html', 'utf8');
assert.match(
html,
/data-hotmail-service-mode="remote"[^>]*>\s*API对接\s*<\/button>/,
'remote 模式按钮应显示为 API对接'
);
assert.doesNotMatch(
html,
/data-hotmail-service-mode="remote"[^>]*\sdisabled(\s|>)/,
'API对接按钮不应继续被禁用'
);
assert.match(
html,
/<span class="data-label">API对接<\/span>/,
'Hotmail 配置行文案应改为 API对接'
);
});
test('Hotmail API对接应接入微软邮箱 helper 而不是旧远程服务占位', () => {
const background = fs.readFileSync('background.js', 'utf8');
assert.match(background, /importScripts\([^)]*microsoft-email\.js[^)]*\)/, 'background 应加载微软邮箱 helper');
assert.match(background, /fetchMicrosoftMailboxMessages/, '账号校验和最新验证码应接入微软邮箱列表 helper');
assert.match(
background,
/fetchMicrosoftMailboxMessages\(\{[\s\S]*mailbox,[\s\S]*top:\s*10,/,
'微软邮箱 helper 应按请求的邮箱夹读取消息'
);
assert.match(
background,
/for \(const mailbox of mailboxes\) \{\s*const result = await requestHotmailRemoteMailbox\(workingAccount, mailbox\);/s,
'API对接模式不应丢掉 INBOX\/Junk 的逐邮箱夹轮询'
);
assert.match(
background,
/pickVerificationMessageWithTimeFallback\(fetchResult\.messages, \{/,
'步骤 4\/7 应继续复用现有验证码筛选与时间回退逻辑'
);
});