From 7090519148f91bbf2e303885638947d5894a9aa0 Mon Sep 17 00:00:00 2001 From: chilingling Date: Tue, 14 May 2024 00:32:42 -0700 Subject: [PATCH] fix: add unit test for unpkgAliasPath --- .../@cnpm/test-find-entry/es/json/index.json | 0 .../@cnpm/test-find-entry/es/json/test.json | 0 .../@cnpm/test-find-entry/package.json | 11 ++++++ .../listFiles.test.ts | 36 +++++++++++++++++++ 4 files changed, 47 insertions(+) create mode 100644 test/fixtures/@cnpm/test-find-entry/es/json/index.json create mode 100644 test/fixtures/@cnpm/test-find-entry/es/json/test.json create mode 100644 test/fixtures/@cnpm/test-find-entry/package.json diff --git a/test/fixtures/@cnpm/test-find-entry/es/json/index.json b/test/fixtures/@cnpm/test-find-entry/es/json/index.json new file mode 100644 index 00000000..e69de29b diff --git a/test/fixtures/@cnpm/test-find-entry/es/json/test.json b/test/fixtures/@cnpm/test-find-entry/es/json/test.json new file mode 100644 index 00000000..e69de29b diff --git a/test/fixtures/@cnpm/test-find-entry/package.json b/test/fixtures/@cnpm/test-find-entry/package.json new file mode 100644 index 00000000..669c6c4a --- /dev/null +++ b/test/fixtures/@cnpm/test-find-entry/package.json @@ -0,0 +1,11 @@ +{ + "name": "@cnpm/test-find-entry", + "version": "1.0.0", + "description": "cnpmcore local test package", + "main": "index.js", + "scripts": { + "test": "echo \"hello\"" + }, + "author": "", + "license": "MIT" +} diff --git a/test/port/controller/PackageVersionFileController/listFiles.test.ts b/test/port/controller/PackageVersionFileController/listFiles.test.ts index 392baede..fd0fb803 100644 --- a/test/port/controller/PackageVersionFileController/listFiles.test.ts +++ b/test/port/controller/PackageVersionFileController/listFiles.test.ts @@ -352,5 +352,41 @@ describe('test/port/controller/PackageVersionFileController/listFiles.test.ts', assert.equal(called, 1); assert.equal(resList.filter(res => res.status === 409 && res.body.error === '[CONFLICT] Package version file sync is currently in progress. Please try again later.').length, 1); }); + it('should redirect to possible entry', async () => { + const pkg = await TestUtil.getFullPackage({ + name: '@cnpm/test-find-entry', + version: '1.0.0', + versionObject: { + description: 'work with utf8mb4 ๐Ÿ’ฉ, ๐Œ† utf8_unicode_ci, foo๐Œ†bar ๐Ÿป', + }, + }); + + await app.httpRequest() + .put(`/${pkg.name}`) + .set('authorization', publisher.authorization) + .set('user-agent', publisher.ua) + .send(pkg) + .expect(201); + + await app.httpRequest() + .get(`/${pkg.name}/1.0.0/files/es/array/at`) + .expect(302) + .expect('location', `/${pkg.name}/1.0.0/files/es/array/at.js`); + + await app.httpRequest() + .get(`/${pkg.name}/1.0.0/files/es/array`) + .expect(302) + .expect('location', `/${pkg.name}/1.0.0/files/es/array/index.js`); + + await app.httpRequest() + .get(`/${pkg.name}/1.0.0/files/es/json/test`) + .expect(302) + .expect('location', `/${pkg.name}/1.0.0/files/es/json/test.json`); + + await app.httpRequest() + .get(`/${pkg.name}/1.0.0/files/es/json`) + .expect(302) + .expect('location', `/${pkg.name}/1.0.0/files/es/json/index.json`); + }); }); });