mirror of
https://wget.la/https://github.com/Wxw-Gu/WechatExplorer
synced 2026-10-03 18:33:14 +08:00
fix: 修复导出日期、语音和联系人名字问题
- 导出的 HTML:点月份先看日期,选中日期后才跳到对应消息。 - 语音转文字:不同账号、不同聊天里的语音不会再串到一起。 - 联系人名字:正常昵称显示不变;昵称异常时使用可见的备注或账号,导出文件名也能正常使用。
This commit is contained in:
@@ -222,6 +222,8 @@ describe('AISearchWorkspace — 搜索范围 / 时间 UI / 真实统计与证据
|
||||
// 时间范围控件在 Query Agent 主路径下移除
|
||||
expect(screen.queryByText('时间范围')).toBeNull()
|
||||
expect(screen.queryByText('不限时间')).toBeNull()
|
||||
expect(screen.queryByText('近 30 天')).toBeNull()
|
||||
expect(screen.getByText('时间由问题决定')).toBeTruthy()
|
||||
})
|
||||
|
||||
it('Query Agent 关闭时恢复 Legacy 的时间范围控件', async () => {
|
||||
|
||||
@@ -58,6 +58,10 @@ describe('ScheduledReportsWorkspace', () => {
|
||||
deleteScheduledReport: vi.fn(async () => ({ success: true, data: { deletedId: task.id } })),
|
||||
setScheduledReportEnabled: vi.fn(async () => ({ success: true, data: task })),
|
||||
runScheduledReportNow: vi.fn(async () => ({ success: true, data: { status: 'success' } })),
|
||||
retryScheduledReportSend: vi.fn(async () => ({
|
||||
success: true,
|
||||
data: { status: 'success' }
|
||||
})),
|
||||
testScheduledReportErrorNotification: vi.fn(async () => ({
|
||||
success: true,
|
||||
data: { status: 'failed', notificationStatus: 'sent' }
|
||||
@@ -214,4 +218,42 @@ describe('ScheduledReportsWorkspace', () => {
|
||||
'success'
|
||||
)
|
||||
})
|
||||
|
||||
it('confirms a manual resend and does not retry when the dialog is cancelled', async () => {
|
||||
const execution = {
|
||||
id: 'execution-1',
|
||||
taskId: task.id,
|
||||
startedAt: '2026-08-27T01:00:00.000Z',
|
||||
finishedAt: '2026-08-27T01:01:00.000Z',
|
||||
status: 'waiting_to_send' as const,
|
||||
sendTarget: group.m_nsUsrName,
|
||||
userMessage: '日报已生成,但微信暂不可用'
|
||||
}
|
||||
vi.mocked(window.api.listScheduledReportExecutions).mockResolvedValue([execution])
|
||||
render(
|
||||
<ScheduledReportsWorkspace
|
||||
contacts={[group]}
|
||||
onNotice={onNotice}
|
||||
onOpenWechatSettings={onOpenWechatSettings}
|
||||
onOpenAgentHub={onOpenAgentHub}
|
||||
/>
|
||||
)
|
||||
|
||||
await waitFor(() => expect(screen.getByText('日报已生成,但微信暂不可用')).toBeVisible())
|
||||
fireEvent.click(screen.getByRole('button', { name: '重新发送' }))
|
||||
const dialog = await screen.findByRole('alertdialog')
|
||||
expect(within(dialog).getByText('目标:' + group.m_nsUsrName)).toBeVisible()
|
||||
expect(within(dialog).getByText('日报:技术交流 · 每日日报')).toBeVisible()
|
||||
expect(within(dialog).getByText(/日期:/)).toBeVisible()
|
||||
fireEvent.click(within(dialog).getByRole('button', { name: '取消' }))
|
||||
expect(window.api.retryScheduledReportSend).not.toHaveBeenCalled()
|
||||
|
||||
fireEvent.click(screen.getByRole('button', { name: '重新发送' }))
|
||||
const secondDialog = await screen.findByRole('alertdialog')
|
||||
fireEvent.click(within(secondDialog).getByRole('button', { name: '确认重新发送' }))
|
||||
await waitFor(() =>
|
||||
expect(window.api.retryScheduledReportSend).toHaveBeenCalledWith(execution.id)
|
||||
)
|
||||
expect(window.api.retryScheduledReportSend).toHaveBeenCalledTimes(1)
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user