Skip to content

Commit e2d6bb1

Browse files
committed
add test
1 parent f09768d commit e2d6bb1

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed

src/api/scheduler/routes/queues.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,27 @@ const jobs: FastifyPluginCallback = (fastify, opts, done) => {
9797
}
9898
);
9999

100+
fastify.delete<{ Body: EnqueueJob; Params: QueuesEndpointParams }>(
101+
"/:endpoint",
102+
{
103+
schema: {
104+
...baseSchema,
105+
params: EndpointParamsSchema,
106+
summary: "Empty a Queue",
107+
},
108+
},
109+
async (request, reply) => {
110+
fastify.telemetrist?.dispatch("empty_queue");
111+
112+
const { tokenId } = request;
113+
const { endpoint } = request.params;
114+
115+
await jobsRepo.emptyQueue(tokenId, endpoint);
116+
117+
reply.status(204).send();
118+
}
119+
);
120+
100121
fastify.post<{
101122
Body: EnqueueJob[];
102123
Params: QueuesEndpointParams;

src/api/test/jobs.test.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,26 @@ describeAcrossBackends("Jobs", (backend) => {
338338
expect(lastBody).not.toEqual('{"iWill":"beDeleted"}');
339339
});
340340

341+
test.only("delete all jobs on a queue", async () => {
342+
await request(quirrel)
343+
.post("/queues/" + endpoint + "/batch")
344+
.send([
345+
{
346+
body: JSON.stringify({ iWill: "beDeleted_1" }),
347+
runAt: new Date(Date.now() + 300).toISOString(),
348+
},
349+
{
350+
body: JSON.stringify({ iWill: "beDeleted_2" }),
351+
runAt: new Date(Date.now() + 300).toISOString(),
352+
},
353+
])
354+
.expect(201);
355+
356+
await request(quirrel).delete(`/queues/${endpoint}`).expect(204);
357+
358+
await request(quirrel).get(`/queues/${endpoint}`).expect(200, { jobs: [], cursor: null });
359+
});
360+
341361
test("idempotent jobs", async () => {
342362
const id = "sameIdAcrossBothJobs";
343363

0 commit comments

Comments
 (0)