mirror of
https://wget.la/https://github.com/Wxw-Gu/WechatExplorer
synced 2026-10-08 07:21:19 +08:00
feat: 修复定时日报错误通知微信机器人功能
增加定时日报debug 修复定时日报历史头像显示并区分定时日报标题
This commit is contained in:
@@ -1,6 +1,12 @@
|
||||
import { expect, test } from '@playwright/test'
|
||||
import { launchTestApp } from './support/electron'
|
||||
|
||||
const debugNotificationEnabled = ['1', 'true', 'yes', 'on'].includes(
|
||||
String(process.env.VITE_SCHEDULED_REPORT_DEBUG || '')
|
||||
.trim()
|
||||
.toLowerCase()
|
||||
)
|
||||
|
||||
test('SCHEDULED-REPORT-UI-01 opens the scheduled report dialog without viewport overflow', async () => {
|
||||
test.skip(
|
||||
process.platform !== 'darwin' && process.platform !== 'win32',
|
||||
@@ -65,3 +71,61 @@ test('SCHEDULED-REPORT-UI-01 opens the scheduled report dialog without viewport
|
||||
await fixture.close()
|
||||
}
|
||||
})
|
||||
|
||||
test('SCHEDULED-REPORT-UI-02 keeps notification switch off when Agent Hub is offline', async () => {
|
||||
test.skip(
|
||||
process.platform !== 'darwin' && process.platform !== 'win32',
|
||||
'The scheduled report send capability requires macOS or Windows'
|
||||
)
|
||||
const fixture = await launchTestApp({ now: Date.parse('2026-08-27T08:30:00+08:00') })
|
||||
try {
|
||||
await fixture.page.getByRole('button', { name: '日报' }).click()
|
||||
await fixture.page.getByRole('tab', { name: '定时日报' }).click()
|
||||
const notificationSwitch = fixture.page.getByRole('switch', { name: '微信异常通知' })
|
||||
await expect(notificationSwitch).toHaveAttribute('aria-checked', 'false')
|
||||
await notificationSwitch.click()
|
||||
await expect(
|
||||
fixture.page
|
||||
.getByRole('alert')
|
||||
.getByText('需要先连接 Agent Hub 微信机器人,才能接收异常通知。')
|
||||
).toBeVisible()
|
||||
await expect(notificationSwitch).toHaveAttribute('aria-checked', 'false')
|
||||
await fixture.page.getByRole('button', { name: '前往 Agent Hub' }).click()
|
||||
await expect(
|
||||
fixture.page.getByRole('heading', { name: 'Agent Hub', exact: true })
|
||||
).toBeVisible()
|
||||
} finally {
|
||||
await fixture.close()
|
||||
}
|
||||
})
|
||||
|
||||
test('SCHEDULED-REPORT-UI-03 sends a simulated error notification in debug mode', async () => {
|
||||
test.skip(
|
||||
(process.platform !== 'darwin' && process.platform !== 'win32') || !debugNotificationEnabled,
|
||||
'The scheduled report debug action requires a supported platform and VITE_SCHEDULED_REPORT_DEBUG=true'
|
||||
)
|
||||
const fixture = await launchTestApp({ now: Date.parse('2026-08-27T08:30:00+08:00') })
|
||||
try {
|
||||
await fixture.page.getByRole('button', { name: '日报' }).click()
|
||||
await fixture.page.getByRole('tab', { name: '定时日报' }).click()
|
||||
await fixture.page
|
||||
.getByRole('button', { name: /新建定时日报/ })
|
||||
.first()
|
||||
.click()
|
||||
|
||||
const dialog = fixture.page.getByRole('dialog', { name: '新建定时日报' })
|
||||
await dialog.getByPlaceholder('例如:技术交流 · 每日日报').fill('调试定时日报')
|
||||
await dialog.getByRole('button', { name: '创建定时日报' }).click()
|
||||
await expect(dialog).toHaveCount(0)
|
||||
|
||||
const debugButton = fixture.page.getByRole('button', { name: '测试错误信息发送' })
|
||||
await expect(debugButton).toBeVisible()
|
||||
await debugButton.click()
|
||||
await expect(
|
||||
fixture.page.getByText('测试错误信息已发送到 Agent Hub 微信通知接收者')
|
||||
).toBeVisible()
|
||||
await expect(fixture.page.getByText('定时日报错误通知测试')).toBeVisible()
|
||||
} finally {
|
||||
await fixture.close()
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user