From dc4b7d4778beb184521d99e89644375bc4172f4d Mon Sep 17 00:00:00 2001 From: Johan Haals Date: Mon, 24 Jan 2022 14:40:22 +0100 Subject: [PATCH] Add more tests Signed-off-by: Johan Haals --- .../release-manifest/src/manifest.test.ts | 36 ++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/packages/release-manifest/src/manifest.test.ts b/packages/release-manifest/src/manifest.test.ts index 3ae71fe05b..e6f353f912 100644 --- a/packages/release-manifest/src/manifest.test.ts +++ b/packages/release-manifest/src/manifest.test.ts @@ -18,8 +18,9 @@ import { setupRequestMockHandlers } from '@backstage/test-utils'; import { getByVersion } from './manifest'; import { setupServer } from 'msw/node'; import { rest } from 'msw'; +import { getByReleaseLine } from '.'; -describe('Get Packages', () => { +describe('getByVersion', () => { const worker = setupServer(); setupRequestMockHandlers(worker); @@ -51,3 +52,36 @@ describe('Get Packages', () => { ); }); }); + +describe('getByReleaseLine', () => { + const worker = setupServer(); + setupRequestMockHandlers(worker); + + it('should return a list of packages in a release', async () => { + worker.use( + rest.get('*/v1/tags/main/manifest.json', (_, res, ctx) => + res( + ctx.status(200), + ctx.json({ + packages: [{ name: '@backstage/core', version: '1.2.3' }], + }), + ), + ), + rest.get('*/v1/tags/foo/manifest.json', (_, res, ctx) => + res(ctx.status(404), ctx.json({})), + ), + ); + + const pkgs = await getByReleaseLine({ releaseLine: 'main' }); + expect(pkgs.packages).toEqual([ + { + name: '@backstage/core', + version: '1.2.3', + }, + ]); + + await expect(getByReleaseLine({ releaseLine: 'foo' })).rejects.toThrow( + "No 'foo' release line found", + ); + }); +});