补强静态发布安全边界
This commit is contained in:
@@ -141,6 +141,33 @@ describe('ProjectPublishAction', () => {
|
||||
expect(screen.getByRole('button', { name: '已提交,请稍后查看' })).toBeDisabled();
|
||||
});
|
||||
|
||||
it('shows a safe local binding warning while continuing cloud build polling', async () => {
|
||||
publishWorksProjectSourceMock.mockResolvedValueOnce({
|
||||
package: {},
|
||||
upload,
|
||||
bindingWarning: {
|
||||
code: 'LOCAL_PREVIEW_BINDING_SAVE_FAILED',
|
||||
message: '已提交云端,但本机预览绑定保存失败;可重新打开项目/重新提交。',
|
||||
},
|
||||
});
|
||||
fetchCurrentWorksProjectStatusMock.mockResolvedValue(projectStatus('succeeded'));
|
||||
render(<ProjectPublishAction project={project} projectType="mini_game" />);
|
||||
|
||||
fireEvent.click(screen.getByRole('button', { name: '一键提交审核' }));
|
||||
await flushSubmission();
|
||||
|
||||
expect(screen.getByTestId('project-publish-binding-warning')).toHaveTextContent(
|
||||
'已提交云端,但本机预览绑定保存失败;可重新打开项目/重新提交。',
|
||||
);
|
||||
expect(screen.getByRole('button', { name: '正在等待云端检查…' })).toBeDisabled();
|
||||
|
||||
await advancePoll();
|
||||
|
||||
expect(fetchCurrentWorksProjectStatusMock).toHaveBeenCalledOnce();
|
||||
expect(screen.getByRole('button', { name: '已提交,等待运营审核' })).toBeDisabled();
|
||||
expect(screen.getByTestId('project-publish-binding-warning')).toBeVisible();
|
||||
});
|
||||
|
||||
it('shows a safe timeout instead of inviting a duplicate submission', async () => {
|
||||
const status = projectStatus('queued');
|
||||
status.latest_version.id = 'another-version';
|
||||
|
||||
Reference in New Issue
Block a user