WFDASH-WEBAPP/scripts/smoke/counter-concurrent.ts
SJCoetz 7df7a8850f feat(item-history): add getItemHistory service with 5 PB queries
Co-authored-by: Orca <help@stably.ai>
2026-07-29 14:51:58 +02:00

33 lines
1.1 KiB
TypeScript

/**
* Concurrent smoke test: 10 parallel calls to generateQuoteNumberServer
* must produce 10 unique, contiguous quote numbers (no collisions).
*/
import { generateQuoteNumberServer } from "../../src/lib/server/quotes-service";
async function main() {
const calls = Array.from({ length: 10 }, () => generateQuoteNumberServer());
const results = await Promise.all(calls);
console.log("Generated:", results);
const set = new Set(results);
if (set.size !== results.length) {
console.error(`FAIL — got ${results.length} results but only ${set.size} unique`);
process.exit(1);
}
// Numbers must be contiguous (Q-2026-06-004..013, since -001..-003 are taken)
const seqs = results
.map((r) => Number(r.match(/Q-\d{4}-\d{2}-(\d{3})$/)![1]))
.sort((a, b) => a - b);
for (let i = 0; i < seqs.length; i += 1) {
if (seqs[i] !== seqs[0] + i) {
console.error(`FAIL — non-contiguous sequence: ${seqs.join(",")}`);
process.exit(1);
}
}
console.log("OK — 10 concurrent calls, all unique and contiguous.");
}
main().catch((err) => {
console.error(err);
process.exit(1);
});