UNPKG

redis-smq-rest-api

Version:

REST API for RedisSMQ: OpenAPI 3 schema and Swagger UI for managing queues, messages, and consumers.

49 lines 1.71 kB
import { EExchangeType } from 'redis-smq'; import supertest from 'supertest'; import { describe, expect, it } from 'vitest'; import { config } from '../../../tests/common/config.js'; import { createDirectExchange, createFanoutExchange, createTopicExchange, } from '../../../tests/common/create-exchange.js'; describe('getExchangesController', () => { it('HTTP 200 OK', async () => { const request = supertest(`http://127.0.0.1:${config.apiServer?.port}`); const response1 = await request.get('/api/v1/exchanges'); expect(response1.status).toEqual(200); expect(response1.body?.data).toEqual([]); const e1 = { ns: 'ns1', name: 'e1', }; const e2 = { ns: 'ns2', name: 'e2', }; const e3 = { ns: 'ns3', name: 'e3', }; await createDirectExchange(e1); await createFanoutExchange(e2); await createTopicExchange(e3); const response2 = await request.get('/api/v1/exchanges'); expect(response2.status).toEqual(200); expect(response2.body?.data?.sort((a, b) => { return `${a.name}@${a.ns}` > `${b.name}@${b.ns}` ? 1 : -1; })).toEqual([ { ...e1, type: EExchangeType.DIRECT, }, { ...e2, type: EExchangeType.FANOUT, }, { ...e3, type: EExchangeType.TOPIC, }, ].sort((a, b) => { return `${a.name}@${a.ns}` > `${b.name}@${b.ns}` ? 1 : -1; })); }); }); //# sourceMappingURL=getExchangesController.test.js.map