From 5d16be2a7185db8b70a5fcbc5f5e1be63297f2c8 Mon Sep 17 00:00:00 2001 From: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com> Date: Fri, 9 Oct 2026 09:09:08 -0700 Subject: [PATCH] test: share the client registration command to restore the jscpd gate (#1317) After #1301 merged, main's duplicated-line share rose to 2.503%, over jscpd's 2.5% threshold, so Static checks fail on every PR. The new OMP test repeated the dialect test's imports and npx registration command. Export that command from the shared client test fixture instead. Co-authored-by: Claude Opus 5.5 --- .../filesystem/clientConfigurationDialects.test.ts | 12 +++++------- .../filesystem/ompClientConfiguration.test.ts | 13 +++++-------- tests/fixtures/clientEnvironment.ts | 10 ++++++++++ 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/tests/boundary/filesystem/clientConfigurationDialects.test.ts b/tests/boundary/filesystem/clientConfigurationDialects.test.ts index 609291932..71d6512ec 100644 --- a/tests/boundary/filesystem/clientConfigurationDialects.test.ts +++ b/tests/boundary/filesystem/clientConfigurationDialects.test.ts @@ -11,14 +11,12 @@ import { supportedClients } from "../../../src/application/SupportedClients.js"; import { PRODUCT_IDENTITY } from "../../../src/identity.js"; import { isOwnedClientRegistrationCommand } from "../../../src/application/ClientRegistrationIdentity.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; -import { clearClientLocationEnvironment } from "../../fixtures/clientEnvironment.js"; +import { + clearClientLocationEnvironment, + NPX_REGISTRATION_COMMAND, +} from "../../fixtures/clientEnvironment.js"; -const command = [ - "npx", - "-y", - PRODUCT_IDENTITY.registrationPackageSpecifier, - "mcp", -] as const; +const command = NPX_REGISTRATION_COMMAND; beforeEach(clearClientLocationEnvironment); diff --git a/tests/boundary/filesystem/ompClientConfiguration.test.ts b/tests/boundary/filesystem/ompClientConfiguration.test.ts index 2815ec134..0f5aeb2cc 100644 --- a/tests/boundary/filesystem/ompClientConfiguration.test.ts +++ b/tests/boundary/filesystem/ompClientConfiguration.test.ts @@ -8,16 +8,13 @@ import { readClientRegistrationStatuses } from "../../../src/application/ClientR import { configureClientConfiguration } from "../../../src/application/SetupClientConfiguration.js"; import { supportedClients } from "../../../src/application/SupportedClients.js"; import { systemUninstallHost } from "../../../src/application/Uninstall.js"; -import { PRODUCT_IDENTITY } from "../../../src/identity.js"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; -import { clearClientLocationEnvironment } from "../../fixtures/clientEnvironment.js"; +import { + clearClientLocationEnvironment, + NPX_REGISTRATION_COMMAND, +} from "../../fixtures/clientEnvironment.js"; -const command = [ - "npx", - "-y", - PRODUCT_IDENTITY.registrationPackageSpecifier, - "mcp", -] as const; +const command = NPX_REGISTRATION_COMMAND; beforeEach(clearClientLocationEnvironment); afterEach(() => vi.unstubAllEnvs()); diff --git a/tests/fixtures/clientEnvironment.ts b/tests/fixtures/clientEnvironment.ts index f8657d25c..79961e49d 100644 --- a/tests/fixtures/clientEnvironment.ts +++ b/tests/fixtures/clientEnvironment.ts @@ -1,5 +1,15 @@ import { vi } from "vitest"; +import { PRODUCT_IDENTITY } from "../../src/identity.js"; + +/** The default npx registration command setup writes on POSIX hosts. */ +export const NPX_REGISTRATION_COMMAND = [ + "npx", + "-y", + PRODUCT_IDENTITY.registrationPackageSpecifier, + "mcp", +] as const; + /** Environment variables that redirect where supported clients keep config. */ export const CLIENT_LOCATION_ENVIRONMENT = [ "APPDATA",