28 lines
921 B
TypeScript
28 lines
921 B
TypeScript
import { expect, test } from "bun:test";
|
|
|
|
import { apiClient } from "@/services/api/request";
|
|
import { listAddedSkills } from "@/services/api/skills";
|
|
|
|
test("added Skills retries a transient backend proxy failure", async () => {
|
|
const original = apiClient.request;
|
|
let attempts = 0;
|
|
apiClient.request = (async () => {
|
|
attempts += 1;
|
|
if (attempts === 1) {
|
|
throw {
|
|
isAxiosError: true,
|
|
message: "Request failed with status code 502",
|
|
response: { status: 502, data: "Bad Gateway", headers: {} },
|
|
};
|
|
}
|
|
return { data: { code: 0, data: { skills: [] }, msg: "ok" }, status: 200, headers: {} };
|
|
}) as typeof apiClient.request;
|
|
|
|
try {
|
|
await expect(listAddedSkills()).resolves.toEqual({ skills: [] });
|
|
expect(attempts).toBe(2);
|
|
} finally {
|
|
apiClient.request = original;
|
|
}
|
|
});
|