UNPKG

redis-smq-rest-api

Version:
39 lines 2.14 kB
import { EQueueDeliveryModel, EQueueType } from 'redis-smq'; import supertest from 'supertest'; import { describe, expect, it } from 'vitest'; import { config } from '../../../../tests/common/config.js'; import { createQueue } from '../../../../tests/common/create-queue.js'; import { publishMessage } from '../../../../tests/common/publish-message.js'; import { saveConsumerGroup } from '../../../../tests/common/save-consumer-group.js'; describe('getConsumerGroupPendingMessagesController', () => { it('HTTP 200 OK', async () => { const { queue } = await createQueue('my-queue', EQueueType.LIFO_QUEUE, EQueueDeliveryModel.PUB_SUB); const consumerGroup1 = await saveConsumerGroup(queue, 'my-group1'); const consumerGroup2 = await saveConsumerGroup(queue, 'my-group2'); const batch1 = await publishMessage(queue); expect(batch1.length).toEqual(2); const batch2 = await publishMessage(queue); expect(batch2.length).toEqual(2); const request = supertest(`http://127.0.0.1:${config.apiServer?.port}`); const queryParams = { pageSize: 10, cursor: 0, }; const response1 = await request .get(`/api/v1/namespaces/${queue.ns}/queues/${queue.name}/consumer-groups/${consumerGroup1}/messages`) .query(queryParams); expect(response1.status).toEqual(200); expect(response1.body?.data?.totalItems).toEqual(2); expect(response1.body?.data?.cursor).toEqual(0); const msg = response1.body?.data?.items; const response2 = await request .get(`/api/v1/namespaces/${queue.ns}/queues/${queue.name}/consumer-groups/${consumerGroup2}/messages`) .query(queryParams); expect(response2.status).toEqual(200); expect(response2.body?.data?.totalItems).toEqual(2); expect(response2.body?.data?.cursor).toEqual(0); msg?.push(...(response2.body?.data?.items || [])); expect(msg?.map((i) => i.id).sort()).toEqual([...batch1, ...batch2].sort()); }); }); //# sourceMappingURL=getConsumerGroupPendingMessagesController.test.js.map