fix(rd21): retain draft revisions and qualify conflict recovery
This commit is contained in:
@@ -34,7 +34,7 @@ const test = base.extend<{ headers: Record<string, string> }>({
|
||||
? route.continue() : route.abort();
|
||||
});
|
||||
await context.addInitScript(() => localStorage.setItem("uiLanguage", "en"));
|
||||
expect((await page.request.put(`${apiUrl}/career/profile`, { headers, data: { profile: canonical } })).status()).toBe(200);
|
||||
expect((await page.request.put(`${apiUrl}/career/profile`, { headers, data: { expectedVersion: (await (await page.request.get(`${apiUrl}/career/profile`)).json()).revision, profile: canonical } })).status()).toBe(200);
|
||||
await provide(headers);
|
||||
} finally { await admin.dispose(); }
|
||||
},
|
||||
@@ -86,8 +86,8 @@ test("[PRES-W01 PRES-W05 PRES-W06 PRES-W07 PRES-W08] legacy workspace preserves
|
||||
const sibling = await siblingResponse.json();
|
||||
const jobUrl = `${apiUrl}/jobapplications/${job.id}`;
|
||||
expect((await page.request.put(`${jobUrl}/cv`, { headers, data: { variantId: variant.id } })).status()).toBe(200);
|
||||
expect((await page.request.put(`${jobUrl}/cover-letter`, { headers, data: { text: "Original reviewed letter", source: "manual" } })).status()).toBe(200);
|
||||
expect((await page.request.put(`${jobUrl}/application-drafts`, { headers, data: { applicationAnswerDraft: "Original answer — æøå", recruiterMessageDraft: "Original recruiter message" } })).status()).toBe(204);
|
||||
expect((await page.request.put(`${jobUrl}/cover-letter`, { headers, data: { expectedVersion: (await (await page.request.get(`${jobUrl}/cover-letter`)).json()).revision, text: "Original reviewed letter", source: "manual" } })).status()).toBe(200);
|
||||
expect((await page.request.put(`${jobUrl}/application-drafts`, { headers, data: { expectedVersion: (await (await page.request.get(`${jobUrl}`)).json()).version, applicationAnswerDraft: "Original answer — æøå", recruiterMessageDraft: "Original recruiter message" } })).status()).toBe(204);
|
||||
expect((await page.request.get(`${jobUrl}/tailoring`)).status()).toBe(200);
|
||||
const bytes = Buffer.from("Original attachment — æøå\n", "utf8");
|
||||
const upload = await page.request.post(`${apiUrl}/attachments`, { headers, multipart: { jobId: String(job.id), files: { name: "evidence.txt", mimeType: "text/plain", buffer: bytes } } });
|
||||
@@ -111,10 +111,10 @@ test("[PRES-W01 PRES-W05 PRES-W06 PRES-W07 PRES-W08] legacy workspace preserves
|
||||
expect(snapshot.cvVariantVersion).toBe(variant.version);
|
||||
expect(before.applicationMaterialJson).toContain("Original answer");
|
||||
expect(snapshot.attachments).toHaveLength(1);
|
||||
expect((await page.request.put(`${jobUrl}/cover-letter`, { headers, data: { text: "Later letter", source: "manual" } })).status()).toBe(200);
|
||||
expect((await page.request.put(`${jobUrl}/cover-letter`, { headers, data: { expectedVersion: (await (await page.request.get(`${jobUrl}/cover-letter`)).json()).revision, text: "Later letter", source: "manual" } })).status()).toBe(200);
|
||||
expect((await page.request.put(`${apiUrl}/cv/variants/${variant.id}`, { headers, data: { name: "Later CV", settings: { ...variant.settings, headline: "Later headline" }, expectedVersion: variant.version } })).status()).toBe(200);
|
||||
expect((await page.request.put(`${apiUrl}/career/profile`, { headers, data: { profile: { ...canonical, contact: { ...canonical.contact, headline: "Later canonical headline" } } } })).status()).toBe(200);
|
||||
expect((await page.request.put(`${jobUrl}/application-drafts`, { headers, data: { applicationAnswerDraft: "Later answer", recruiterMessageDraft: "Later recruiter message" } })).status()).toBe(204);
|
||||
expect((await page.request.put(`${apiUrl}/career/profile`, { headers, data: { expectedVersion: (await (await page.request.get(`${apiUrl}/career/profile`)).json()).revision, profile: { ...canonical, contact: { ...canonical.contact, headline: "Later canonical headline" } } } })).status()).toBe(200);
|
||||
expect((await page.request.put(`${jobUrl}/application-drafts`, { headers, data: { expectedVersion: (await (await page.request.get(`${jobUrl}`)).json()).version, applicationAnswerDraft: "Later answer", recruiterMessageDraft: "Later recruiter message" } })).status()).toBe(204);
|
||||
expect((await page.request.delete(`${apiUrl}/attachments/${attachment.id}`, { headers })).status()).toBe(204);
|
||||
expect(await (await page.request.get(`${jobUrl}/submitted-packages/${snapshot.id}`)).json()).toEqual(before);
|
||||
const archived = await page.request.get(`${jobUrl}/submitted-packages/${snapshot.id}/attachments/${snapshot.attachments[0].id}`);
|
||||
@@ -123,7 +123,7 @@ test("[PRES-W01 PRES-W05 PRES-W06 PRES-W07 PRES-W08] legacy workspace preserves
|
||||
expect((await page.request.put(`${jobUrl}/cv`, { headers, data: { variantId: null } })).status()).toBe(200);
|
||||
expect((await page.request.get(`${apiUrl}/cv/variants/${variant.id}`)).status()).toBe(200);
|
||||
expect(await (await page.request.get(`${apiUrl}/cv/variants/${sibling.id}`)).json()).toEqual(sibling);
|
||||
const restored = await page.request.post(`${jobUrl}/cover-letter/versions/1/restore`, { headers });
|
||||
const restored = await page.request.post(`${jobUrl}/cover-letter/versions/1/restore`, { data: { expectedVersion: (await (await page.request.get(`${jobUrl}/cover-letter`)).json()).revision }, headers });
|
||||
expect(restored.status()).toBe(200);
|
||||
expect((await restored.json()).currentVersion).toBe(3);
|
||||
expect((await (await page.request.get(`${jobUrl}/cover-letter`)).json()).text).toBe("Original reviewed letter");
|
||||
|
||||
Reference in New Issue
Block a user