From 89e64d53c14a1bd21b6011cac479ad01f0ca7774 Mon Sep 17 00:00:00 2001 From: Leon Kiefer Date: Wed, 20 Jul 2022 15:12:42 +0200 Subject: [PATCH] added tests for getSwaggerUIRelease --- __tests__/main.test.ts | 22 +++++++++++++++++++++- src/swagger-ui-action.ts | 5 ++--- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/__tests__/main.test.ts b/__tests__/main.test.ts index 052af65..faff126 100644 --- a/__tests__/main.test.ts +++ b/__tests__/main.test.ts @@ -1,7 +1,9 @@ import * as io from '@actions/io'; import { validateSwaggerUIConfig, - createSwaggerConfig + createSwaggerConfig, + getSwaggerUIRelease, + Config } from '../src/swagger-ui-action'; test('specFile config mode can be selected', async () => { @@ -30,3 +32,21 @@ test('swaggerConfigFile gets copied correctly (#156)', async () => { await expect(await swaggerConfig).toBe('swagger-config.yaml'); await io.rmRF('/tmp/swagger-config.yaml'); }); + +test('getSwaggerUIRelease returns without error for latest', async () => { + const swaggerUIVersion = await getSwaggerUIRelease({ + swaggerUIVersion: '^3.0.0' + } as Config); + expect(swaggerUIVersion.tag_name).toMatch(/3.*/); +}); + +test('getSwaggerUIRelease returns specific version', async () => { + const swaggerUIVersion = await getSwaggerUIRelease({ + swaggerUIVersion: '3.0.0' + } as Config); + expect(swaggerUIVersion).toMatchObject({ + tag_name: 'v3.0.0', + tarball_url: + 'https://api.github.com/repos/swagger-api/swagger-ui/tarball/v3.0.0' + }); +}); diff --git a/src/swagger-ui-action.ts b/src/swagger-ui-action.ts index c8d4ab6..ae27bf9 100644 --- a/src/swagger-ui-action.ts +++ b/src/swagger-ui-action.ts @@ -200,11 +200,10 @@ export async function getSwaggerUIRelease({ .filter(x => x.prerelease !== true) .filter(x => x.draft !== true) .filter(x => satisfies(x.tag_name, swaggerUIVersion)); - if (matchingReleases.length) { + if (matchingReleases.length > 0) { done(); - return matchingReleases; } - return []; + return matchingReleases; } );