From d3876310a5da8daf17297fc3396558d10a01be56 Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Wed, 12 Jun 2024 12:40:02 +0900 Subject: [PATCH] test: add test for winget-version --- services/winget/winget-version.tester.js | 73 ++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 services/winget/winget-version.tester.js diff --git a/services/winget/winget-version.tester.js b/services/winget/winget-version.tester.js new file mode 100644 index 0000000000000..75087de4cbb58 --- /dev/null +++ b/services/winget/winget-version.tester.js @@ -0,0 +1,73 @@ +import { isVPlusDottedVersionNClauses } from '../test-validators.js' +import { createServiceTester } from '../tester.js' + +export const t = await createServiceTester() + +// basic test +t.create('gets the package version of WSL') + .get('/Microsoft.WSL.json') + .expectBadge({ label: 'winget', message: isVPlusDottedVersionNClauses }) + +// test more than one dots +t.create('gets the package version of .NET 8') + .get('/Microsoft.DotNet.SDK.8.json') + .expectBadge({ label: 'winget', message: isVPlusDottedVersionNClauses }) + +// test sort based on dotted version order instead of ASCII +t.create('gets the latest version') + .intercept(nock => + nock('https://api.github.com/') + .post('/graphql') + .reply(200, { + data: { + repository: { + object: { + entries: [ + { + type: 'tree', + name: '0.1001.389.0', + }, + { + type: 'tree', + name: '0.1101.416.0', + }, + { + type: 'tree', + name: '0.1201.442.0', + }, + { + type: 'tree', + name: '0.137.141.0', + }, + { + type: 'tree', + name: '0.200.170.0', + }, + { + type: 'tree', + name: '0.503.261.0', + }, + { + type: 'tree', + name: '0.601.285.0', + }, + { + type: 'tree', + name: '0.601.297.0', + }, + { + type: 'tree', + name: '0.701.323.0', + }, + { + type: 'tree', + name: '0.801.344.0', + }, + ], + }, + }, + }, + }), + ) + .get('/Microsoft.DevHome.json') + .expectBadge({ label: 'winget', message: 'v0.1201.442.0' })