fix(*): 模型与数据同步 - 完善鉴权、供应商模型和本地持久化能力
This commit is contained in:
@@ -36,6 +36,11 @@ test("Dreamina submit failure categories have bounded user-facing messages", ()
|
||||
}
|
||||
});
|
||||
|
||||
test("resource storage 403 is not reported as generation channel authentication", () => {
|
||||
const raw = "参考图片上传失败:OSS 上传失败:403 Forbidden <Code>UserDisable</Code><Message>UserDisable</Message>";
|
||||
expect(generationErrorMessage(raw)).toBe("对象存储账号已停用,请检查或更换对象存储配置。");
|
||||
});
|
||||
|
||||
test("durable Dreamina submit failures keep their stable user-facing category in task center", () => {
|
||||
const task = projectLocalDreaminaTask({
|
||||
id: "dreamina-submit-timeout-task-0001",
|
||||
|
||||
@@ -3978,6 +3978,7 @@ test("account scope transition drains an active remote deletion before entering
|
||||
const localStorageValues = new Map<string, string>();
|
||||
const previousAdapter = apiClient.defaults.adapter;
|
||||
const previousAssets = useAssetStore.getState().assets;
|
||||
const requestUrls: string[] = [];
|
||||
let releaseDelete!: () => void;
|
||||
const deleteReleased = new Promise<void>((resolve) => {
|
||||
releaseDelete = resolve;
|
||||
@@ -3985,12 +3986,13 @@ test("account scope transition drains an active remote deletion before entering
|
||||
let deleteStarted = false;
|
||||
apiClient.defaults.adapter = async (config) => {
|
||||
const url = String(config.url || "");
|
||||
requestUrls.push(url);
|
||||
if (config.method === "delete") {
|
||||
deleteStarted = true;
|
||||
await deleteReleased;
|
||||
return { data: { code: 0, data: { id: "shared-asset" }, msg: "" }, status: 200, statusText: "OK", headers: {}, config };
|
||||
}
|
||||
const data = url.includes("canvas-projects") ? { projects: [] } : { assets: [] };
|
||||
const data = url.includes("user-data/snapshot") ? { projects: [], assets: [] } : url.includes("canvas-projects") ? { projects: [] } : { assets: [] };
|
||||
return { data: { code: 0, data, msg: "" }, status: 200, statusText: "OK", headers: {}, config };
|
||||
};
|
||||
Object.defineProperty(globalThis, "window", {
|
||||
@@ -4013,6 +4015,8 @@ test("account scope transition drains an active remote deletion before entering
|
||||
try {
|
||||
useAssetStore.getState().replaceAssets([]);
|
||||
await syncRemoteUserData("account-A");
|
||||
expect(requestUrls.filter((url) => url.includes("user-data/snapshot"))).toHaveLength(1);
|
||||
expect(requestUrls.some((url) => /\/(assets|canvas-projects)\/[^/]+/.test(url))).toBe(false);
|
||||
useAssetStore.getState().replaceAssets([
|
||||
{
|
||||
id: "shared-asset",
|
||||
|
||||
Reference in New Issue
Block a user