测试:修复画布缓存断言竞态
等待会话缓存完成revision更新后再校验内容
This commit is contained in:
@@ -2249,26 +2249,29 @@ describe('useImageCanvasProjectPersistence', () => {
|
||||
);
|
||||
});
|
||||
|
||||
const cachedRaw = globalThis.sessionStorage.getItem(
|
||||
EDITOR_PROJECT_RECENT_SESSION_CACHE_KEY,
|
||||
);
|
||||
expect(cachedRaw).toBeTruthy();
|
||||
expect(cachedRaw).not.toContain('data:image');
|
||||
const cached = JSON.parse(cachedRaw ?? '{}') as {
|
||||
ownerUserId?: string;
|
||||
project?: EditorProjectSnapshot;
|
||||
revision?: number;
|
||||
};
|
||||
expect(cached.ownerUserId).toBe('user-test');
|
||||
expect(cached.revision).toBe(1);
|
||||
expect(cached.project?.resources).toEqual([
|
||||
expect.objectContaining({
|
||||
resourceId: 'resource-added-asset-a',
|
||||
imageSrc: '/generated-character-drafts/editor/assets/asset-a.png',
|
||||
objectKey: 'generated-character-drafts/editor/assets/asset-a.png',
|
||||
assetObjectId: 'asset-object-a',
|
||||
}),
|
||||
]);
|
||||
await waitFor(() => {
|
||||
const cachedRaw = globalThis.sessionStorage.getItem(
|
||||
EDITOR_PROJECT_RECENT_SESSION_CACHE_KEY,
|
||||
);
|
||||
expect(cachedRaw).toBeTruthy();
|
||||
expect(cachedRaw).not.toContain('data:image');
|
||||
const cached = JSON.parse(cachedRaw ?? '{}') as {
|
||||
ownerUserId?: string;
|
||||
project?: EditorProjectSnapshot;
|
||||
revision?: number;
|
||||
};
|
||||
expect(cached.ownerUserId).toBe('user-test');
|
||||
expect(cached.revision).toBe(1);
|
||||
expect(cached.project?.resources).toEqual([
|
||||
expect.objectContaining({
|
||||
resourceId: 'resource-added-asset-a',
|
||||
imageSrc: '/generated-character-drafts/editor/assets/asset-a.png',
|
||||
objectKey:
|
||||
'generated-character-drafts/editor/assets/asset-a.png',
|
||||
assetObjectId: 'asset-object-a',
|
||||
}),
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
it('restores the persisted canvas background color without autosaving on load', async () => {
|
||||
|
||||
Reference in New Issue
Block a user