Added the Refresh All button to invalidate caches and force requests to be sent again
This commit is contained in:
@@ -12,8 +12,8 @@ function setup() {
|
||||
const calls = [];
|
||||
app.opportunityCrmServiceRequests.reset = () => calls.push("reset SR");
|
||||
app.opportunityWorkloadActions.reset = () => calls.push("reset Act");
|
||||
app.opportunityCrmServiceRequests.load = async token => calls.push(`SR ${token}`);
|
||||
app.opportunityWorkloadActions.loadProducts = products => calls.push(products.items[0]?.RevnId || "empty products");
|
||||
app.opportunityCrmServiceRequests.load = async (token, version, options) => { if (!options?.cacheOnly) calls.push(`SR ${token}`); };
|
||||
app.opportunityWorkloadActions.loadProducts = (products, refresh, options) => { if (!options?.cacheOnly) calls.push(products.items[0]?.RevnId || "empty products"); };
|
||||
app.platformContentMessages.sendRuntimeMessage = async () => ({ ok: true });
|
||||
app.productsContentJobs.ensureProductsBackgroundMessageHandler();
|
||||
function start(token = "token") {
|
||||
@@ -69,19 +69,19 @@ test("partial failures use successful products only; closed, failed and empty cy
|
||||
assert.equal(h.calls.includes("closed"), false);
|
||||
});
|
||||
|
||||
test("cached products never trigger or reset activities; mixed cycles use only fresh products", async () => {
|
||||
test("cached products restore activities without network; mixed cycles fetch only fresh products", async () => {
|
||||
const h = setup();
|
||||
const cached = h.start();
|
||||
h.progress(cached, { optyNumber: "A", items: [{ RevnId: "cached" }], fromCache: true });
|
||||
h.progress(cached, { state: "complete" });
|
||||
await flush();
|
||||
assert.deepEqual(h.calls, []);
|
||||
assert.deepEqual(h.calls, ["reset SR"]);
|
||||
const mixed = h.start();
|
||||
h.progress(mixed, { optyNumber: "A", items: [{ RevnId: "cached" }], fromCache: true });
|
||||
h.progress(mixed, { optyNumber: "B", items: [{ RevnId: "fresh" }], fromCache: false });
|
||||
h.progress(mixed, { state: "complete" });
|
||||
await flush();
|
||||
assert.deepEqual(h.calls, ["reset SR", "fresh", "SR token"]);
|
||||
assert.deepEqual(h.calls, ["reset SR", "reset SR", "fresh", "SR token"]);
|
||||
});
|
||||
|
||||
test("reopening an existing modal does not reload products or reset/query activities", async () => {
|
||||
|
||||
Reference in New Issue
Block a user