diff --git a/e2e/plugin-axe-e2e/tests/collect.e2e.test.ts b/e2e/plugin-axe-e2e/tests/collect.e2e.test.ts index 2d663c1d7..a128c9b47 100644 --- a/e2e/plugin-axe-e2e/tests/collect.e2e.test.ts +++ b/e2e/plugin-axe-e2e/tests/collect.e2e.test.ts @@ -2,11 +2,11 @@ import { cp } from 'node:fs/promises'; import path from 'node:path'; import { afterAll, beforeAll, describe, expect, it } from 'vitest'; import { type Report, reportSchema } from '@code-pushup/models'; +import { omitVariableReportData } from '@code-pushup/test-fixtures'; import { nxTargetProject } from '@code-pushup/test-nx-utils'; import { E2E_ENVIRONMENTS_DIR, TEST_OUTPUT_DIR, - omitVariableReportData, teardownTestFolder, } from '@code-pushup/test-utils'; import { executeProcess, readJsonFile } from '@code-pushup/utils'; diff --git a/e2e/plugin-coverage-e2e/tests/collect.e2e.test.ts b/e2e/plugin-coverage-e2e/tests/collect.e2e.test.ts index 3f36c3a22..31bd9850f 100644 --- a/e2e/plugin-coverage-e2e/tests/collect.e2e.test.ts +++ b/e2e/plugin-coverage-e2e/tests/collect.e2e.test.ts @@ -3,12 +3,12 @@ import path from 'node:path'; import { simpleGit } from 'simple-git'; import { afterAll, afterEach, beforeAll } from 'vitest'; import { type Report, reportSchema } from '@code-pushup/models'; +import { omitVariableReportData } from '@code-pushup/test-fixtures'; import { nxTargetProject } from '@code-pushup/test-nx-utils'; import { E2E_ENVIRONMENTS_DIR, TEST_OUTPUT_DIR, initGitRepo, - omitVariableReportData, restoreNxIgnoredFiles, teardownTestFolder, } from '@code-pushup/test-utils'; diff --git a/e2e/plugin-eslint-e2e/tests/collect.e2e.test.ts b/e2e/plugin-eslint-e2e/tests/collect.e2e.test.ts index a2e20bd54..e0931f92f 100644 --- a/e2e/plugin-eslint-e2e/tests/collect.e2e.test.ts +++ b/e2e/plugin-eslint-e2e/tests/collect.e2e.test.ts @@ -2,11 +2,11 @@ import { cp } from 'node:fs/promises'; import path from 'node:path'; import { afterAll, afterEach, beforeAll, describe, expect, it } from 'vitest'; import { type Report, reportSchema } from '@code-pushup/models'; +import { omitVariableReportData } from '@code-pushup/test-fixtures'; import { nxTargetProject } from '@code-pushup/test-nx-utils'; import { E2E_ENVIRONMENTS_DIR, TEST_OUTPUT_DIR, - omitVariableReportData, restoreNxIgnoredFiles, teardownTestFolder, } from '@code-pushup/test-utils'; diff --git a/e2e/plugin-jsdocs-e2e/tests/collect.e2e.test.ts b/e2e/plugin-jsdocs-e2e/tests/collect.e2e.test.ts index 4b9bdc492..09c6f6113 100644 --- a/e2e/plugin-jsdocs-e2e/tests/collect.e2e.test.ts +++ b/e2e/plugin-jsdocs-e2e/tests/collect.e2e.test.ts @@ -3,12 +3,12 @@ import path from 'node:path'; import { simpleGit } from 'simple-git'; import { afterAll, afterEach, beforeAll, describe, expect, it } from 'vitest'; import { type Report, reportSchema } from '@code-pushup/models'; +import { omitVariableReportData } from '@code-pushup/test-fixtures'; import { nxTargetProject } from '@code-pushup/test-nx-utils'; import { E2E_ENVIRONMENTS_DIR, TEST_OUTPUT_DIR, initGitRepo, - omitVariableReportData, restoreNxIgnoredFiles, teardownTestFolder, } from '@code-pushup/test-utils'; diff --git a/e2e/plugin-lighthouse-e2e/tests/collect.e2e.test.ts b/e2e/plugin-lighthouse-e2e/tests/collect.e2e.test.ts index 85c734c0c..5bd1db014 100644 --- a/e2e/plugin-lighthouse-e2e/tests/collect.e2e.test.ts +++ b/e2e/plugin-lighthouse-e2e/tests/collect.e2e.test.ts @@ -2,11 +2,11 @@ import { cp } from 'node:fs/promises'; import path from 'node:path'; import { afterAll, beforeAll, expect } from 'vitest'; import { type Report, reportSchema } from '@code-pushup/models'; +import { omitVariableReportData } from '@code-pushup/test-fixtures'; import { nxTargetProject } from '@code-pushup/test-nx-utils'; import { E2E_ENVIRONMENTS_DIR, TEST_OUTPUT_DIR, - omitVariableReportData, restoreNxIgnoredFiles, teardownTestFolder, } from '@code-pushup/test-utils'; diff --git a/e2e/plugin-typescript-e2e/tests/collect.e2e.test.ts b/e2e/plugin-typescript-e2e/tests/collect.e2e.test.ts index b92e53153..00df879ad 100644 --- a/e2e/plugin-typescript-e2e/tests/collect.e2e.test.ts +++ b/e2e/plugin-typescript-e2e/tests/collect.e2e.test.ts @@ -2,12 +2,14 @@ import { cp } from 'node:fs/promises'; import path from 'node:path'; import { afterAll, beforeAll, expect } from 'vitest'; import { type Report, reportSchema } from '@code-pushup/models'; +import { + omitVariableReportData, + osAgnosticAuditOutputs, +} from '@code-pushup/test-fixtures'; import { nxTargetProject } from '@code-pushup/test-nx-utils'; import { E2E_ENVIRONMENTS_DIR, TEST_OUTPUT_DIR, - omitVariableReportData, - osAgnosticAuditOutputs, osAgnosticPath, restoreNxIgnoredFiles, teardownTestFolder, diff --git a/packages/cli/src/lib/autorun/autorun-command.unit.test.ts b/packages/cli/src/lib/autorun/autorun-command.unit.test.ts index 040fb44c7..a44d4a2bb 100644 --- a/packages/cli/src/lib/autorun/autorun-command.unit.test.ts +++ b/packages/cli/src/lib/autorun/autorun-command.unit.test.ts @@ -2,14 +2,15 @@ import { vol } from 'memfs'; import { describe, expect, it, vi } from 'vitest'; import { uploadReportToPortal } from '@code-pushup/portal-client'; import { collectAndPersistReports, readRcByPath } from '@code-pushup/core'; -import { MEMFS_VOLUME, MINIMAL_REPORT_MOCK } from '@code-pushup/test-utils'; +import { MINIMAL_REPORT_MOCK } from '@code-pushup/test-fixtures'; +import { MEMFS_VOLUME } from '@code-pushup/test-utils'; import { DEFAULT_CLI_CONFIGURATION } from '../../../mocks/constants.js'; import { yargsCli } from '../yargs-cli.js'; import { yargsAutorunCommandObject } from './autorun-command.js'; vi.mock('@code-pushup/core', async () => { - const { CORE_CONFIG_MOCK }: typeof import('@code-pushup/test-utils') = - await vi.importActual('@code-pushup/test-utils'); + const { CORE_CONFIG_MOCK }: typeof import('@code-pushup/test-fixtures') = + await vi.importActual('@code-pushup/test-fixtures'); const core: object = await vi.importActual('@code-pushup/core'); return { ...core, diff --git a/packages/cli/src/lib/collect/collect-command.unit.test.ts b/packages/cli/src/lib/collect/collect-command.unit.test.ts index 6765add61..71dd50339 100644 --- a/packages/cli/src/lib/collect/collect-command.unit.test.ts +++ b/packages/cli/src/lib/collect/collect-command.unit.test.ts @@ -11,8 +11,8 @@ import { yargsCli } from '../yargs-cli.js'; import { yargsCollectCommandObject } from './collect-command.js'; vi.mock('@code-pushup/core', async () => { - const { CORE_CONFIG_MOCK }: typeof import('@code-pushup/test-utils') = - await vi.importActual('@code-pushup/test-utils'); + const { CORE_CONFIG_MOCK }: typeof import('@code-pushup/test-fixtures') = + await vi.importActual('@code-pushup/test-fixtures'); const core: object = await vi.importActual('@code-pushup/core'); return { ...core, diff --git a/packages/cli/src/lib/compare/compare-command.unit.test.ts b/packages/cli/src/lib/compare/compare-command.unit.test.ts index d0ccb5199..25e6ad5b0 100644 --- a/packages/cli/src/lib/compare/compare-command.unit.test.ts +++ b/packages/cli/src/lib/compare/compare-command.unit.test.ts @@ -12,8 +12,8 @@ import { yargsCompareCommandObject } from './compare-command.js'; vi.mock('@code-pushup/core', async () => { const core: object = await vi.importActual('@code-pushup/core'); - const { CORE_CONFIG_MOCK }: typeof import('@code-pushup/test-utils') = - await vi.importActual('@code-pushup/test-utils'); + const { CORE_CONFIG_MOCK }: typeof import('@code-pushup/test-fixtures') = + await vi.importActual('@code-pushup/test-fixtures'); return { ...core, autoloadRc: vi.fn().mockResolvedValue(CORE_CONFIG_MOCK), diff --git a/packages/cli/src/lib/history/history-command.unit.test.ts b/packages/cli/src/lib/history/history-command.unit.test.ts index e1892d7f0..d7016526d 100644 --- a/packages/cli/src/lib/history/history-command.unit.test.ts +++ b/packages/cli/src/lib/history/history-command.unit.test.ts @@ -8,8 +8,8 @@ import { yargsHistoryCommandObject } from './history-command.js'; vi.mock('@code-pushup/core', async () => { const { MINIMAL_HISTORY_CONFIG_MOCK, - }: typeof import('@code-pushup/test-utils') = await vi.importActual( - '@code-pushup/test-utils', + }: typeof import('@code-pushup/test-fixtures') = await vi.importActual( + '@code-pushup/test-fixtures', ); const core: object = await vi.importActual('@code-pushup/core'); return { diff --git a/packages/cli/src/lib/implementation/core-config.int.test.ts b/packages/cli/src/lib/implementation/core-config.int.test.ts index 7c0a156d1..c933eccfe 100644 --- a/packages/cli/src/lib/implementation/core-config.int.test.ts +++ b/packages/cli/src/lib/implementation/core-config.int.test.ts @@ -8,7 +8,10 @@ import { type PersistConfig, type UploadConfig, } from '@code-pushup/models'; -import { CORE_CONFIG_MOCK, MINIMAL_CONFIG_MOCK } from '@code-pushup/test-utils'; +import { + CORE_CONFIG_MOCK, + MINIMAL_CONFIG_MOCK, +} from '@code-pushup/test-fixtures'; import { yargsCli } from '../yargs-cli.js'; import { coreConfigMiddleware } from './core-config.middleware.js'; import { yargsCoreConfigOptionsDefinition } from './core-config.options.js'; diff --git a/packages/cli/src/lib/implementation/core-config.middleware.int.test.ts b/packages/cli/src/lib/implementation/core-config.middleware.int.test.ts index 61e8fa0d5..9b37cceb4 100644 --- a/packages/cli/src/lib/implementation/core-config.middleware.int.test.ts +++ b/packages/cli/src/lib/implementation/core-config.middleware.int.test.ts @@ -11,7 +11,7 @@ const configDirPath = path.join( '..', '..', 'testing', - 'test-utils', + 'test-fixtures', 'src', 'lib', 'fixtures', diff --git a/packages/cli/src/lib/implementation/core-config.middleware.unit.test.ts b/packages/cli/src/lib/implementation/core-config.middleware.unit.test.ts index 1c36bed82..11e2e1e96 100644 --- a/packages/cli/src/lib/implementation/core-config.middleware.unit.test.ts +++ b/packages/cli/src/lib/implementation/core-config.middleware.unit.test.ts @@ -9,8 +9,8 @@ import type { FilterOptions } from './filter.model.js'; import type { GlobalOptions } from './global.model.js'; vi.mock('@code-pushup/core', async () => { - const { CORE_CONFIG_MOCK }: typeof import('@code-pushup/test-utils') = - await vi.importActual('@code-pushup/test-utils'); + const { CORE_CONFIG_MOCK }: typeof import('@code-pushup/test-fixtures') = + await vi.importActual('@code-pushup/test-fixtures'); const core: object = await vi.importActual('@code-pushup/core'); return { ...core, diff --git a/packages/cli/src/lib/implementation/filter.middleware.unit.test.ts b/packages/cli/src/lib/implementation/filter.middleware.unit.test.ts index 414b2c79e..5cfec546f 100644 --- a/packages/cli/src/lib/implementation/filter.middleware.unit.test.ts +++ b/packages/cli/src/lib/implementation/filter.middleware.unit.test.ts @@ -8,8 +8,8 @@ import { import { OptionValidationError } from './validate-filter-options.utils.js'; vi.mock('@code-pushup/core', async () => { - const { CORE_CONFIG_MOCK }: typeof import('@code-pushup/test-utils') = - await vi.importActual('@code-pushup/test-utils'); + const { CORE_CONFIG_MOCK }: typeof import('@code-pushup/test-fixtures') = + await vi.importActual('@code-pushup/test-fixtures'); const core: object = await vi.importActual('@code-pushup/core'); return { ...core, diff --git a/packages/cli/src/lib/merge-diffs/merge-diffs-command.unit.test.ts b/packages/cli/src/lib/merge-diffs/merge-diffs-command.unit.test.ts index 991538750..5c2ea38b4 100644 --- a/packages/cli/src/lib/merge-diffs/merge-diffs-command.unit.test.ts +++ b/packages/cli/src/lib/merge-diffs/merge-diffs-command.unit.test.ts @@ -12,8 +12,8 @@ import { yargsMergeDiffsCommandObject } from './merge-diffs-command.js'; vi.mock('@code-pushup/core', async () => { const core: object = await vi.importActual('@code-pushup/core'); - const { CORE_CONFIG_MOCK }: typeof import('@code-pushup/test-utils') = - await vi.importActual('@code-pushup/test-utils'); + const { CORE_CONFIG_MOCK }: typeof import('@code-pushup/test-fixtures') = + await vi.importActual('@code-pushup/test-fixtures'); return { ...core, autoloadRc: vi.fn().mockResolvedValue(CORE_CONFIG_MOCK), diff --git a/packages/cli/src/lib/print-config/print-config-command.unit.test.ts b/packages/cli/src/lib/print-config/print-config-command.unit.test.ts index ed50001fc..789b7f7fd 100644 --- a/packages/cli/src/lib/print-config/print-config-command.unit.test.ts +++ b/packages/cli/src/lib/print-config/print-config-command.unit.test.ts @@ -9,8 +9,8 @@ import { yargsCli } from '../yargs-cli.js'; import { yargsPrintConfigCommandObject } from './print-config-command.js'; vi.mock('@code-pushup/core', async () => { - const { CORE_CONFIG_MOCK }: typeof import('@code-pushup/test-utils') = - await vi.importActual('@code-pushup/test-utils'); + const { CORE_CONFIG_MOCK }: typeof import('@code-pushup/test-fixtures') = + await vi.importActual('@code-pushup/test-fixtures'); const core: object = await vi.importActual('@code-pushup/core'); return { ...core, diff --git a/packages/cli/src/lib/upload/upload-command.unit.test.ts b/packages/cli/src/lib/upload/upload-command.unit.test.ts index 7ffb7fbb1..13a54c83a 100644 --- a/packages/cli/src/lib/upload/upload-command.unit.test.ts +++ b/packages/cli/src/lib/upload/upload-command.unit.test.ts @@ -2,18 +2,15 @@ import { vol } from 'memfs'; import { describe, expect, it } from 'vitest'; import { uploadReportToPortal } from '@code-pushup/portal-client'; import { readRcByPath } from '@code-pushup/core'; -import { - ISO_STRING_REGEXP, - MEMFS_VOLUME, - MINIMAL_REPORT_MOCK, -} from '@code-pushup/test-utils'; +import { MINIMAL_REPORT_MOCK } from '@code-pushup/test-fixtures'; +import { ISO_STRING_REGEXP, MEMFS_VOLUME } from '@code-pushup/test-utils'; import { DEFAULT_CLI_CONFIGURATION } from '../../../mocks/constants.js'; import { yargsCli } from '../yargs-cli.js'; import { yargsUploadCommandObject } from './upload-command.js'; vi.mock('@code-pushup/core', async () => { - const { CORE_CONFIG_MOCK }: typeof import('@code-pushup/test-utils') = - await vi.importActual('@code-pushup/test-utils'); + const { CORE_CONFIG_MOCK }: typeof import('@code-pushup/test-fixtures') = + await vi.importActual('@code-pushup/test-fixtures'); const core: object = await vi.importActual('@code-pushup/core'); return { ...core, diff --git a/packages/core/src/lib/collect-and-persist.unit.test.ts b/packages/core/src/lib/collect-and-persist.unit.test.ts index 6e034abed..256275d62 100644 --- a/packages/core/src/lib/collect-and-persist.unit.test.ts +++ b/packages/core/src/lib/collect-and-persist.unit.test.ts @@ -2,7 +2,7 @@ import { type MockInstance, describe } from 'vitest'; import { MINIMAL_CONFIG_MOCK, MINIMAL_REPORT_MOCK, -} from '@code-pushup/test-utils'; +} from '@code-pushup/test-fixtures'; import * as utils from '@code-pushup/utils'; import { type ScoredReport, diff --git a/packages/core/src/lib/compare.unit.test.ts b/packages/core/src/lib/compare.unit.test.ts index 303aaa7cf..cef29a6ce 100644 --- a/packages/core/src/lib/compare.unit.test.ts +++ b/packages/core/src/lib/compare.unit.test.ts @@ -11,11 +11,11 @@ import { import { COMMIT_ALT_MOCK, COMMIT_MOCK, - MEMFS_VOLUME, MINIMAL_REPORT_MOCK, REPORT_MOCK, reportMock, -} from '@code-pushup/test-utils'; +} from '@code-pushup/test-fixtures'; +import { MEMFS_VOLUME } from '@code-pushup/test-utils'; import { type Diff, fileExists, readJsonFile } from '@code-pushup/utils'; import { compareReportFiles, compareReports } from './compare.js'; diff --git a/packages/core/src/lib/history.unit.test.ts b/packages/core/src/lib/history.unit.test.ts index 787ef5a51..b1d964d03 100644 --- a/packages/core/src/lib/history.unit.test.ts +++ b/packages/core/src/lib/history.unit.test.ts @@ -1,5 +1,5 @@ import { describe, expect, vi } from 'vitest'; -import { MINIMAL_PLUGIN_CONFIG_MOCK } from '@code-pushup/test-utils'; +import { MINIMAL_PLUGIN_CONFIG_MOCK } from '@code-pushup/test-fixtures'; import { getCurrentBranchOrTag, safeCheckout } from '@code-pushup/utils'; import { collectAndPersistReports } from './collect-and-persist.js'; import { type HistoryOptions, history } from './history.js'; diff --git a/packages/core/src/lib/implementation/collect.int.test.ts b/packages/core/src/lib/implementation/collect.int.test.ts index 0e2c86972..929ca8304 100644 --- a/packages/core/src/lib/implementation/collect.int.test.ts +++ b/packages/core/src/lib/implementation/collect.int.test.ts @@ -2,7 +2,8 @@ import { writeFile } from 'node:fs/promises'; import path from 'node:path'; import { describe, expect, it } from 'vitest'; import { commitSchema } from '@code-pushup/models'; -import { MINIMAL_CONFIG_MOCK, cleanTestFolder } from '@code-pushup/test-utils'; +import { MINIMAL_CONFIG_MOCK } from '@code-pushup/test-fixtures'; +import { cleanTestFolder } from '@code-pushup/test-utils'; import { ensureDirectoryExists, fileExists, diff --git a/packages/core/src/lib/implementation/execute-plugin.unit.test.ts b/packages/core/src/lib/implementation/execute-plugin.unit.test.ts index dcb2b7582..aa5dcfdb1 100644 --- a/packages/core/src/lib/implementation/execute-plugin.unit.test.ts +++ b/packages/core/src/lib/implementation/execute-plugin.unit.test.ts @@ -6,10 +6,8 @@ import { DEFAULT_PERSIST_CONFIG, type PluginConfig, } from '@code-pushup/models'; -import { - MEMFS_VOLUME, - MINIMAL_PLUGIN_CONFIG_MOCK, -} from '@code-pushup/test-utils'; +import { MINIMAL_PLUGIN_CONFIG_MOCK } from '@code-pushup/test-fixtures'; +import { MEMFS_VOLUME } from '@code-pushup/test-utils'; import { logger } from '@code-pushup/utils'; import { executePlugin, executePlugins } from './execute-plugin.js'; import * as runnerModule from './runner.js'; diff --git a/packages/core/src/lib/implementation/persist.unit.test.ts b/packages/core/src/lib/implementation/persist.unit.test.ts index 1c3e69bdd..d7fe2f6d0 100644 --- a/packages/core/src/lib/implementation/persist.unit.test.ts +++ b/packages/core/src/lib/implementation/persist.unit.test.ts @@ -4,11 +4,8 @@ import { readFile } from 'node:fs/promises'; import path from 'node:path'; import { beforeEach, describe, expect, it } from 'vitest'; import type { Report } from '@code-pushup/models'; -import { - MEMFS_VOLUME, - MINIMAL_REPORT_MOCK, - REPORT_MOCK, -} from '@code-pushup/test-utils'; +import { MINIMAL_REPORT_MOCK, REPORT_MOCK } from '@code-pushup/test-fixtures'; +import { MEMFS_VOLUME } from '@code-pushup/test-utils'; import { logger, scoreReport, sortReport } from '@code-pushup/utils'; import { logPersistedReport, persistReport } from './persist.js'; diff --git a/packages/core/src/lib/implementation/read-rc-file.int.test.ts b/packages/core/src/lib/implementation/read-rc-file.int.test.ts index 88dc1fede..006ea0a7a 100644 --- a/packages/core/src/lib/implementation/read-rc-file.int.test.ts +++ b/packages/core/src/lib/implementation/read-rc-file.int.test.ts @@ -12,7 +12,7 @@ describe('readRcByPath', () => { '..', '..', 'testing', - 'test-utils', + 'test-fixtures', 'src', 'lib', 'fixtures', diff --git a/packages/core/src/lib/implementation/read-rc-file.unit.test.ts b/packages/core/src/lib/implementation/read-rc-file.unit.test.ts index 91e2fe498..54387069b 100644 --- a/packages/core/src/lib/implementation/read-rc-file.unit.test.ts +++ b/packages/core/src/lib/implementation/read-rc-file.unit.test.ts @@ -7,7 +7,7 @@ import { autoloadRc } from './read-rc-file.js'; // mock bundleRequire inside importEsmModule used for fetching config vi.mock('bundle-require', async () => { const { CORE_CONFIG_MOCK }: Record = - await vi.importActual('@code-pushup/test-utils'); + await vi.importActual('@code-pushup/test-fixtures'); return { bundleRequire: vi diff --git a/packages/core/src/lib/implementation/runner.unit.test.ts b/packages/core/src/lib/implementation/runner.unit.test.ts index 57770a279..233ac7211 100644 --- a/packages/core/src/lib/implementation/runner.unit.test.ts +++ b/packages/core/src/lib/implementation/runner.unit.test.ts @@ -9,12 +9,11 @@ import { auditOutputsSchema, } from '@code-pushup/models'; import { - MEMFS_VOLUME, MINIMAL_PLUGIN_CONFIG_MOCK, MINIMAL_RUNNER_CONFIG_MOCK, MINIMAL_RUNNER_FUNCTION_MOCK, - osAgnosticPath, -} from '@code-pushup/test-utils'; +} from '@code-pushup/test-fixtures'; +import { MEMFS_VOLUME, osAgnosticPath } from '@code-pushup/test-utils'; import * as utils from '@code-pushup/utils'; import { executePluginRunner, diff --git a/packages/core/src/lib/merge-diffs.unit.test.ts b/packages/core/src/lib/merge-diffs.unit.test.ts index be5e31e4e..cde61fffa 100644 --- a/packages/core/src/lib/merge-diffs.unit.test.ts +++ b/packages/core/src/lib/merge-diffs.unit.test.ts @@ -3,12 +3,12 @@ import { readFile } from 'node:fs/promises'; import path from 'node:path'; import type { PersistConfig } from '@code-pushup/models'; import { - MEMFS_VOLUME, reportsDiffAddedPluginMock, reportsDiffAltMock, reportsDiffMock, reportsDiffUnchangedMock, -} from '@code-pushup/test-utils'; +} from '@code-pushup/test-fixtures'; +import { MEMFS_VOLUME } from '@code-pushup/test-utils'; import { fileExists, logger } from '@code-pushup/utils'; import { mergeDiffs } from './merge-diffs.js'; diff --git a/packages/core/src/lib/upload.unit.test.ts b/packages/core/src/lib/upload.unit.test.ts index 143b753db..9615cb8cb 100644 --- a/packages/core/src/lib/upload.unit.test.ts +++ b/packages/core/src/lib/upload.unit.test.ts @@ -1,11 +1,8 @@ import { vol } from 'memfs'; import { describe, expect } from 'vitest'; import { uploadReportToPortal } from '@code-pushup/portal-client'; -import { - ISO_STRING_REGEXP, - MEMFS_VOLUME, - MINIMAL_REPORT_MOCK, -} from '@code-pushup/test-utils'; +import { MINIMAL_REPORT_MOCK } from '@code-pushup/test-fixtures'; +import { ISO_STRING_REGEXP, MEMFS_VOLUME } from '@code-pushup/test-utils'; import { upload } from './upload.js'; describe('upload', () => { diff --git a/packages/plugin-coverage/src/lib/runner/lcov/lcov-runner.int.test.ts b/packages/plugin-coverage/src/lib/runner/lcov/lcov-runner.int.test.ts index 0478e1043..412bffa1f 100644 --- a/packages/plugin-coverage/src/lib/runner/lcov/lcov-runner.int.test.ts +++ b/packages/plugin-coverage/src/lib/runner/lcov/lcov-runner.int.test.ts @@ -1,7 +1,7 @@ import path from 'node:path'; import { fileURLToPath } from 'node:url'; import { describe, expect, it } from 'vitest'; -import { osAgnosticAuditOutputs } from '@code-pushup/test-utils'; +import { osAgnosticAuditOutputs } from '@code-pushup/test-fixtures'; import { lcovResultsToAuditOutputs } from './lcov-runner.js'; describe('lcovResultsToAuditOutputs', () => { diff --git a/packages/plugin-eslint/src/lib/runner.int.test.ts b/packages/plugin-eslint/src/lib/runner.int.test.ts index a8c3f4a25..2dc0824e9 100644 --- a/packages/plugin-eslint/src/lib/runner.int.test.ts +++ b/packages/plugin-eslint/src/lib/runner.int.test.ts @@ -11,8 +11,8 @@ import { DEFAULT_PERSIST_CONFIG, type Issue, } from '@code-pushup/models'; +import { osAgnosticAuditOutputs } from '@code-pushup/test-fixtures'; import { - osAgnosticAuditOutputs, restoreNxIgnoredFiles, teardownTestFolder, } from '@code-pushup/test-utils'; diff --git a/packages/plugin-typescript/src/lib/runner/runner.int.test.ts b/packages/plugin-typescript/src/lib/runner/runner.int.test.ts index eb4e41683..75dac6549 100644 --- a/packages/plugin-typescript/src/lib/runner/runner.int.test.ts +++ b/packages/plugin-typescript/src/lib/runner/runner.int.test.ts @@ -1,6 +1,6 @@ import { describe, expect } from 'vitest'; import type { AuditOutputs } from '@code-pushup/models'; -import { osAgnosticAuditOutputs } from '@code-pushup/test-utils'; +import { osAgnosticAuditOutputs } from '@code-pushup/test-fixtures'; import { getAudits } from '../utils.js'; import { createRunnerFunction } from './runner.js'; diff --git a/packages/utils/src/lib/reports/generate-md-report.int.test.ts b/packages/utils/src/lib/reports/generate-md-report.int.test.ts index 26a16f870..33ca1357c 100644 --- a/packages/utils/src/lib/reports/generate-md-report.int.test.ts +++ b/packages/utils/src/lib/reports/generate-md-report.int.test.ts @@ -1,5 +1,5 @@ import { describe } from 'vitest'; -import { reportMock } from '@code-pushup/test-utils'; +import { reportMock } from '@code-pushup/test-fixtures'; import { generateMdReport } from './generate-md-report.js'; import { scoreReport } from './scoring.js'; import { sortReport } from './sorting.js'; diff --git a/packages/utils/src/lib/reports/generate-md-reports-diff.int.test.ts b/packages/utils/src/lib/reports/generate-md-reports-diff.int.test.ts index 29a6d73d1..cb2aaee1a 100644 --- a/packages/utils/src/lib/reports/generate-md-reports-diff.int.test.ts +++ b/packages/utils/src/lib/reports/generate-md-reports-diff.int.test.ts @@ -6,7 +6,7 @@ import { reportsDiffChangedMock, reportsDiffMock, reportsDiffUnchangedMock, -} from '@code-pushup/test-utils'; +} from '@code-pushup/test-fixtures'; import { generateMdReportsDiff, generateMdReportsDiffForMonorepo, diff --git a/packages/utils/src/lib/reports/load-report.unit.test.ts b/packages/utils/src/lib/reports/load-report.unit.test.ts index 67d43a492..acafeb61c 100644 --- a/packages/utils/src/lib/reports/load-report.unit.test.ts +++ b/packages/utils/src/lib/reports/load-report.unit.test.ts @@ -1,6 +1,7 @@ import { vol } from 'memfs'; import type { Report } from '@code-pushup/models'; -import { MEMFS_VOLUME, REPORT_MOCK, reportMock } from '@code-pushup/test-utils'; +import { REPORT_MOCK, reportMock } from '@code-pushup/test-fixtures'; +import { MEMFS_VOLUME } from '@code-pushup/test-utils'; import { loadReport } from './load-report.js'; describe('loadReport', () => { diff --git a/packages/utils/src/lib/reports/log-stdout-summary.int.test.ts b/packages/utils/src/lib/reports/log-stdout-summary.int.test.ts index cf2267ff1..f89ae887a 100644 --- a/packages/utils/src/lib/reports/log-stdout-summary.int.test.ts +++ b/packages/utils/src/lib/reports/log-stdout-summary.int.test.ts @@ -1,5 +1,6 @@ import { beforeAll, describe, expect, vi } from 'vitest'; -import { removeColorCodes, reportMock } from '@code-pushup/test-utils'; +import { reportMock } from '@code-pushup/test-fixtures'; +import { removeColorCodes } from '@code-pushup/test-utils'; import { logger } from '../logger.js'; import { logStdoutSummary } from './log-stdout-summary.js'; import { scoreReport } from './scoring.js'; diff --git a/packages/utils/src/lib/reports/scoring.unit.test.ts b/packages/utils/src/lib/reports/scoring.unit.test.ts index fe0862f31..b92cd70c6 100644 --- a/packages/utils/src/lib/reports/scoring.unit.test.ts +++ b/packages/utils/src/lib/reports/scoring.unit.test.ts @@ -1,5 +1,5 @@ import { describe, expect } from 'vitest'; -import { REPORT_MOCK } from '@code-pushup/test-utils'; +import { REPORT_MOCK } from '@code-pushup/test-fixtures'; import { calculateScore, scoreAuditWithTarget, diff --git a/packages/utils/src/lib/reports/sorting.int.test.ts b/packages/utils/src/lib/reports/sorting.int.test.ts index 57212b3e0..71e75bfb9 100644 --- a/packages/utils/src/lib/reports/sorting.int.test.ts +++ b/packages/utils/src/lib/reports/sorting.int.test.ts @@ -1,4 +1,4 @@ -import { REPORT_MOCK } from '@code-pushup/test-utils'; +import { REPORT_MOCK } from '@code-pushup/test-fixtures'; import { scoreReport } from './scoring.js'; import { sortReport } from './sorting.js'; diff --git a/testing/test-fixtures/README.md b/testing/test-fixtures/README.md new file mode 100644 index 000000000..487f8f4a9 --- /dev/null +++ b/testing/test-fixtures/README.md @@ -0,0 +1,14 @@ +# test-fixtures + +This library contains testing fixtures. + +## Mock data + +Hardcoded mocks, often referring to a smaller configuration object, live in [`utils`](./src/lib/utils/). +Dynamic mocks (functions that accept objects), referring to a bigger example of a configuration and report object, live in [`dynamic-mocks`](./src/lib/utils/dynamic-mocks/). + +Please prefer using static mocks over dynamic ones for better readability. Dynamic mocks to be used with care when testing a snapshot after report generation or similar. + +## Fixtures + +Example configuration files that are to be used in integration or E2E tests live in [`configs`](./src//lib/fixtures/configs/). diff --git a/testing/test-fixtures/eslint.config.js b/testing/test-fixtures/eslint.config.js new file mode 100644 index 000000000..2656b27cb --- /dev/null +++ b/testing/test-fixtures/eslint.config.js @@ -0,0 +1,12 @@ +import tseslint from 'typescript-eslint'; +import baseConfig from '../../eslint.config.js'; + +export default tseslint.config(...baseConfig, { + files: ['**/*.ts'], + languageOptions: { + parserOptions: { + projectService: true, + tsconfigRootDir: import.meta.dirname, + }, + }, +}); diff --git a/testing/test-fixtures/package.json b/testing/test-fixtures/package.json new file mode 100644 index 000000000..c77280f3f --- /dev/null +++ b/testing/test-fixtures/package.json @@ -0,0 +1,4 @@ +{ + "name": "@code-pushup/test-fixtures", + "type": "module" +} diff --git a/testing/test-fixtures/project.json b/testing/test-fixtures/project.json new file mode 100644 index 000000000..5e61f31bb --- /dev/null +++ b/testing/test-fixtures/project.json @@ -0,0 +1,14 @@ +{ + "name": "test-fixtures", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "testing/test-fixtures/src", + "projectType": "library", + "targets": { + "build": {}, + "lint": {}, + "nx-release-publish": { + "executor": "nx:noop" + } + }, + "tags": ["scope:shared", "type:testing"] +} diff --git a/testing/test-fixtures/src/index.ts b/testing/test-fixtures/src/index.ts new file mode 100644 index 000000000..869b9e3da --- /dev/null +++ b/testing/test-fixtures/src/index.ts @@ -0,0 +1,22 @@ +export * from './lib/utils/omit-report-data.js'; +export * from './lib/utils/os-agnostic.js'; + +// static mocks +export * from './lib/utils/commit.mock.js'; +export * from './lib/utils/core-config.mock.js'; +export * from './lib/utils/minimal-config.mock.js'; +export * from './lib/utils/report.mock.js'; + +// dynamic mocks +export * from './lib/utils/dynamic-mocks/categories.mock.js'; +export * from './lib/utils/dynamic-mocks/config.mock.js'; +export * from './lib/utils/dynamic-mocks/eslint-audits.mock.js'; +export * from './lib/utils/dynamic-mocks/eslint-plugin.mock.js'; +export * from './lib/utils/dynamic-mocks/lighthouse-audits.mock.js'; +export * from './lib/utils/dynamic-mocks/lighthouse-plugin.mock.js'; +export * from './lib/utils/dynamic-mocks/persist-config.mock.js'; +export * from './lib/utils/dynamic-mocks/plugin-config.mock.js'; +export * from './lib/utils/dynamic-mocks/report-diff.mock.js'; +export * from './lib/utils/dynamic-mocks/report.mock.js'; +export * from './lib/utils/dynamic-mocks/runner-config.mock.js'; +export * from './lib/utils/dynamic-mocks/upload-config.mock.js'; diff --git a/testing/test-utils/src/lib/fixtures/configs/code-pushup.config.js b/testing/test-fixtures/src/lib/fixtures/configs/code-pushup.config.js similarity index 100% rename from testing/test-utils/src/lib/fixtures/configs/code-pushup.config.js rename to testing/test-fixtures/src/lib/fixtures/configs/code-pushup.config.js diff --git a/testing/test-utils/src/lib/fixtures/configs/code-pushup.config.mjs b/testing/test-fixtures/src/lib/fixtures/configs/code-pushup.config.mjs similarity index 100% rename from testing/test-utils/src/lib/fixtures/configs/code-pushup.config.mjs rename to testing/test-fixtures/src/lib/fixtures/configs/code-pushup.config.mjs diff --git a/testing/test-utils/src/lib/fixtures/configs/code-pushup.config.ts b/testing/test-fixtures/src/lib/fixtures/configs/code-pushup.config.ts similarity index 100% rename from testing/test-utils/src/lib/fixtures/configs/code-pushup.config.ts rename to testing/test-fixtures/src/lib/fixtures/configs/code-pushup.config.ts diff --git a/testing/test-utils/src/lib/fixtures/configs/code-pushup.empty.config.js b/testing/test-fixtures/src/lib/fixtures/configs/code-pushup.empty.config.js similarity index 100% rename from testing/test-utils/src/lib/fixtures/configs/code-pushup.empty.config.js rename to testing/test-fixtures/src/lib/fixtures/configs/code-pushup.empty.config.js diff --git a/testing/test-utils/src/lib/fixtures/configs/code-pushup.invalid.config.ts b/testing/test-fixtures/src/lib/fixtures/configs/code-pushup.invalid.config.ts similarity index 100% rename from testing/test-utils/src/lib/fixtures/configs/code-pushup.invalid.config.ts rename to testing/test-fixtures/src/lib/fixtures/configs/code-pushup.invalid.config.ts diff --git a/testing/test-utils/src/lib/fixtures/configs/code-pushup.needs-tsconfig.config.ts b/testing/test-fixtures/src/lib/fixtures/configs/code-pushup.needs-tsconfig.config.ts similarity index 100% rename from testing/test-utils/src/lib/fixtures/configs/code-pushup.needs-tsconfig.config.ts rename to testing/test-fixtures/src/lib/fixtures/configs/code-pushup.needs-tsconfig.config.ts diff --git a/testing/test-utils/src/lib/fixtures/configs/custom-plugin.ts b/testing/test-fixtures/src/lib/fixtures/configs/custom-plugin.ts similarity index 100% rename from testing/test-utils/src/lib/fixtures/configs/custom-plugin.ts rename to testing/test-fixtures/src/lib/fixtures/configs/custom-plugin.ts diff --git a/testing/test-utils/src/lib/fixtures/configs/tsconfig.json b/testing/test-fixtures/src/lib/fixtures/configs/tsconfig.json similarity index 100% rename from testing/test-utils/src/lib/fixtures/configs/tsconfig.json rename to testing/test-fixtures/src/lib/fixtures/configs/tsconfig.json diff --git a/testing/test-utils/src/lib/utils/commit.mock.ts b/testing/test-fixtures/src/lib/utils/commit.mock.ts similarity index 100% rename from testing/test-utils/src/lib/utils/commit.mock.ts rename to testing/test-fixtures/src/lib/utils/commit.mock.ts diff --git a/testing/test-utils/src/lib/utils/core-config.mock.ts b/testing/test-fixtures/src/lib/utils/core-config.mock.ts similarity index 100% rename from testing/test-utils/src/lib/utils/core-config.mock.ts rename to testing/test-fixtures/src/lib/utils/core-config.mock.ts diff --git a/testing/test-utils/src/lib/utils/dynamic-mocks/categories.mock.ts b/testing/test-fixtures/src/lib/utils/dynamic-mocks/categories.mock.ts similarity index 100% rename from testing/test-utils/src/lib/utils/dynamic-mocks/categories.mock.ts rename to testing/test-fixtures/src/lib/utils/dynamic-mocks/categories.mock.ts diff --git a/testing/test-utils/src/lib/utils/dynamic-mocks/config.mock.ts b/testing/test-fixtures/src/lib/utils/dynamic-mocks/config.mock.ts similarity index 100% rename from testing/test-utils/src/lib/utils/dynamic-mocks/config.mock.ts rename to testing/test-fixtures/src/lib/utils/dynamic-mocks/config.mock.ts diff --git a/testing/test-utils/src/lib/utils/dynamic-mocks/eslint-audits.mock.ts b/testing/test-fixtures/src/lib/utils/dynamic-mocks/eslint-audits.mock.ts similarity index 100% rename from testing/test-utils/src/lib/utils/dynamic-mocks/eslint-audits.mock.ts rename to testing/test-fixtures/src/lib/utils/dynamic-mocks/eslint-audits.mock.ts diff --git a/testing/test-utils/src/lib/utils/dynamic-mocks/eslint-plugin.mock.ts b/testing/test-fixtures/src/lib/utils/dynamic-mocks/eslint-plugin.mock.ts similarity index 100% rename from testing/test-utils/src/lib/utils/dynamic-mocks/eslint-plugin.mock.ts rename to testing/test-fixtures/src/lib/utils/dynamic-mocks/eslint-plugin.mock.ts diff --git a/testing/test-utils/src/lib/utils/dynamic-mocks/lighthouse-audits.mock.ts b/testing/test-fixtures/src/lib/utils/dynamic-mocks/lighthouse-audits.mock.ts similarity index 100% rename from testing/test-utils/src/lib/utils/dynamic-mocks/lighthouse-audits.mock.ts rename to testing/test-fixtures/src/lib/utils/dynamic-mocks/lighthouse-audits.mock.ts diff --git a/testing/test-utils/src/lib/utils/dynamic-mocks/lighthouse-plugin.mock.ts b/testing/test-fixtures/src/lib/utils/dynamic-mocks/lighthouse-plugin.mock.ts similarity index 100% rename from testing/test-utils/src/lib/utils/dynamic-mocks/lighthouse-plugin.mock.ts rename to testing/test-fixtures/src/lib/utils/dynamic-mocks/lighthouse-plugin.mock.ts diff --git a/testing/test-utils/src/lib/utils/dynamic-mocks/persist-config.mock.ts b/testing/test-fixtures/src/lib/utils/dynamic-mocks/persist-config.mock.ts similarity index 100% rename from testing/test-utils/src/lib/utils/dynamic-mocks/persist-config.mock.ts rename to testing/test-fixtures/src/lib/utils/dynamic-mocks/persist-config.mock.ts diff --git a/testing/test-utils/src/lib/utils/dynamic-mocks/plugin-config.mock.ts b/testing/test-fixtures/src/lib/utils/dynamic-mocks/plugin-config.mock.ts similarity index 100% rename from testing/test-utils/src/lib/utils/dynamic-mocks/plugin-config.mock.ts rename to testing/test-fixtures/src/lib/utils/dynamic-mocks/plugin-config.mock.ts diff --git a/testing/test-utils/src/lib/utils/dynamic-mocks/report-diff.mock.ts b/testing/test-fixtures/src/lib/utils/dynamic-mocks/report-diff.mock.ts similarity index 100% rename from testing/test-utils/src/lib/utils/dynamic-mocks/report-diff.mock.ts rename to testing/test-fixtures/src/lib/utils/dynamic-mocks/report-diff.mock.ts diff --git a/testing/test-utils/src/lib/utils/dynamic-mocks/report.mock.ts b/testing/test-fixtures/src/lib/utils/dynamic-mocks/report.mock.ts similarity index 100% rename from testing/test-utils/src/lib/utils/dynamic-mocks/report.mock.ts rename to testing/test-fixtures/src/lib/utils/dynamic-mocks/report.mock.ts diff --git a/testing/test-utils/src/lib/utils/dynamic-mocks/runner-config.mock.ts b/testing/test-fixtures/src/lib/utils/dynamic-mocks/runner-config.mock.ts similarity index 100% rename from testing/test-utils/src/lib/utils/dynamic-mocks/runner-config.mock.ts rename to testing/test-fixtures/src/lib/utils/dynamic-mocks/runner-config.mock.ts diff --git a/testing/test-utils/src/lib/utils/dynamic-mocks/upload-config.mock.ts b/testing/test-fixtures/src/lib/utils/dynamic-mocks/upload-config.mock.ts similarity index 100% rename from testing/test-utils/src/lib/utils/dynamic-mocks/upload-config.mock.ts rename to testing/test-fixtures/src/lib/utils/dynamic-mocks/upload-config.mock.ts diff --git a/testing/test-utils/src/lib/utils/minimal-config.mock.ts b/testing/test-fixtures/src/lib/utils/minimal-config.mock.ts similarity index 100% rename from testing/test-utils/src/lib/utils/minimal-config.mock.ts rename to testing/test-fixtures/src/lib/utils/minimal-config.mock.ts diff --git a/testing/test-utils/src/lib/utils/omit-report-data.ts b/testing/test-fixtures/src/lib/utils/omit-report-data.ts similarity index 100% rename from testing/test-utils/src/lib/utils/omit-report-data.ts rename to testing/test-fixtures/src/lib/utils/omit-report-data.ts diff --git a/testing/test-fixtures/src/lib/utils/os-agnostic.ts b/testing/test-fixtures/src/lib/utils/os-agnostic.ts new file mode 100644 index 000000000..e00d0f175 --- /dev/null +++ b/testing/test-fixtures/src/lib/utils/os-agnostic.ts @@ -0,0 +1,38 @@ +import type { AuditOutput, AuditReport } from '@code-pushup/models'; +import { osAgnosticPath } from '@code-pushup/test-utils'; + +export function osAgnosticAudit( + audit: T, + transformMessage: (message: string) => string = s => s, +): T { + const { issues = [] } = audit.details ?? {}; + if (issues.every(({ source }) => source == null)) { + return audit; + } + return { + ...audit, + details: { + issues: issues.map(issue => + issue.source == null + ? issue + : { + ...issue, + source: { + ...issue.source, + file: osAgnosticPath(issue.source.file), + }, + message: transformMessage(issue.message), + }, + ), + }, + }; +} + +export function osAgnosticAuditOutputs( + audits: T[], + transformAuditIssueMessage?: (message: string) => string, +): T[] { + return audits.map(audit => + osAgnosticAudit(audit, transformAuditIssueMessage), + ); +} diff --git a/testing/test-utils/src/lib/utils/report.mock.ts b/testing/test-fixtures/src/lib/utils/report.mock.ts similarity index 100% rename from testing/test-utils/src/lib/utils/report.mock.ts rename to testing/test-fixtures/src/lib/utils/report.mock.ts diff --git a/testing/test-fixtures/tsconfig.json b/testing/test-fixtures/tsconfig.json new file mode 100644 index 000000000..c370491f9 --- /dev/null +++ b/testing/test-fixtures/tsconfig.json @@ -0,0 +1,23 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "es2022", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "types": ["vitest"] + }, + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.test.json" + } + ] +} diff --git a/testing/test-fixtures/tsconfig.lib.json b/testing/test-fixtures/tsconfig.lib.json new file mode 100644 index 000000000..3975fe4ed --- /dev/null +++ b/testing/test-fixtures/tsconfig.lib.json @@ -0,0 +1,14 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../dist/out-tsc", + "declaration": true, + "types": ["node"] + }, + "include": ["src/**/*.ts"], + "exclude": [ + "vitest.unit.config.ts", + "src/**/*.unit.test.ts", + "src/lib/fixtures/configs" + ] +} diff --git a/testing/test-fixtures/tsconfig.test.json b/testing/test-fixtures/tsconfig.test.json new file mode 100644 index 000000000..cafb05dd2 --- /dev/null +++ b/testing/test-fixtures/tsconfig.test.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "types": ["vitest/globals", "vitest/importMeta", "vite/client", "node"] + }, + "include": ["vitest.unit.config.ts", "src/**/*.unit.test.ts"] +} diff --git a/testing/test-nx-utils/project.json b/testing/test-nx-utils/project.json index d76cad67e..c7e5d39dc 100644 --- a/testing/test-nx-utils/project.json +++ b/testing/test-nx-utils/project.json @@ -6,7 +6,8 @@ "targets": { "build": {}, "lint": {}, - "unit-test": {} + "unit-test": {}, + "int-test": {} }, "tags": ["scope:shared", "type:testing"] } diff --git a/testing/test-nx-utils/src/lib/utils/tree.int.test.ts b/testing/test-nx-utils/src/lib/utils/tree.int.test.ts index 0e06aabf6..202f24a91 100644 --- a/testing/test-nx-utils/src/lib/utils/tree.int.test.ts +++ b/testing/test-nx-utils/src/lib/utils/tree.int.test.ts @@ -1,7 +1,7 @@ +import { readFile } from 'node:fs/promises'; import path from 'node:path'; import { createTreeWithEmptyWorkspace } from 'nx/src/generators/testing-utils/create-tree-with-empty-workspace'; import { describe, expect, it } from 'vitest'; -import { readJsonFile } from '@code-pushup/utils'; import { materializeTree } from './tree.js'; describe('materializeTree', () => { @@ -14,8 +14,10 @@ describe('materializeTree', () => { expect(tree.exists('nx.json')).toBe(true); await materializeTree(tree, root); - - await expect(readJsonFile(path.join(root, 'nx.json'))).resolves.toEqual({ + const nxJson = JSON.parse( + await readFile(path.join(root, 'nx.json'), 'utf8'), + ); + expect(nxJson).toStrictEqual({ affected: { defaultBase: 'main', }, diff --git a/testing/test-nx-utils/tsconfig.test.json b/testing/test-nx-utils/tsconfig.test.json index cafb05dd2..44ccaf163 100644 --- a/testing/test-nx-utils/tsconfig.test.json +++ b/testing/test-nx-utils/tsconfig.test.json @@ -4,5 +4,10 @@ "outDir": "../../dist/out-tsc", "types": ["vitest/globals", "vitest/importMeta", "vite/client", "node"] }, - "include": ["vitest.unit.config.ts", "src/**/*.unit.test.ts"] + "include": [ + "vitest.unit.config.ts", + "vitest.int.config.ts", + "src/**/*.unit.test.ts", + "src/**/*.int.test.ts" + ] } diff --git a/testing/test-nx-utils/vitest.int.config.ts b/testing/test-nx-utils/vitest.int.config.ts new file mode 100644 index 000000000..d08636f48 --- /dev/null +++ b/testing/test-nx-utils/vitest.int.config.ts @@ -0,0 +1,3 @@ +import { createIntTestConfig } from '../test-setup-config/src/index.js'; + +export default createIntTestConfig('test-nx-utils'); diff --git a/testing/test-utils/README.md b/testing/test-utils/README.md index e17ac2a87..23cabe3ae 100644 --- a/testing/test-utils/README.md +++ b/testing/test-utils/README.md @@ -1,19 +1,6 @@ # test-utils -This library contains testing utilities, such as helper functions or fixtures. +This library contains testing utilities, such as helper functions. Any reusable mocks should live here. More on this subject as well as all the testing strategy principles can be found on the GitHub [wiki](https://github.com/code-pushup/cli/wiki/Testing-Strategy#testing-utilities). - -## Library utilities - -### Mock data - -Hardcoded mocks, often referring to a smaller configuration object, live in [`utils`](./src/lib/utils/). -Dynamic mocks (functions that accept objects), referring to a bigger example of a configuration and report object, live in [`dynamic-mocks`](./src/lib/utils/dynamic-mocks/). - -Please prefer using static mocks over dynamic ones for better readability. Dynamic mocks to be used with care when testing a snapshot after report generation or similar. - -### Fixtures - -Example configuration files that are to be used in integration or E2E tests live in [`configs`](./src//lib/fixtures/configs/). diff --git a/testing/test-utils/src/index.ts b/testing/test-utils/src/index.ts index 3c8a3626b..78bdba6df 100644 --- a/testing/test-utils/src/index.ts +++ b/testing/test-utils/src/index.ts @@ -6,26 +6,5 @@ export * from './lib/utils/git.js'; export * from './lib/utils/string.js'; export * from './lib/utils/file-system.js'; export * from './lib/utils/create-npm-workshpace.js'; -export * from './lib/utils/omit-report-data.js'; export * from './lib/utils/project-graph.js'; export * from './lib/utils/test-folder-setup.js'; - -// static mocks -export * from './lib/utils/commit.mock.js'; -export * from './lib/utils/core-config.mock.js'; -export * from './lib/utils/minimal-config.mock.js'; -export * from './lib/utils/report.mock.js'; - -// dynamic mocks -export * from './lib/utils/dynamic-mocks/categories.mock.js'; -export * from './lib/utils/dynamic-mocks/config.mock.js'; -export * from './lib/utils/dynamic-mocks/eslint-audits.mock.js'; -export * from './lib/utils/dynamic-mocks/eslint-plugin.mock.js'; -export * from './lib/utils/dynamic-mocks/lighthouse-audits.mock.js'; -export * from './lib/utils/dynamic-mocks/lighthouse-plugin.mock.js'; -export * from './lib/utils/dynamic-mocks/persist-config.mock.js'; -export * from './lib/utils/dynamic-mocks/plugin-config.mock.js'; -export * from './lib/utils/dynamic-mocks/report-diff.mock.js'; -export * from './lib/utils/dynamic-mocks/report.mock.js'; -export * from './lib/utils/dynamic-mocks/runner-config.mock.js'; -export * from './lib/utils/dynamic-mocks/upload-config.mock.js'; diff --git a/testing/test-utils/src/lib/utils/os-agnostic-paths.ts b/testing/test-utils/src/lib/utils/os-agnostic-paths.ts index 9dd00fb5e..750432418 100644 --- a/testing/test-utils/src/lib/utils/os-agnostic-paths.ts +++ b/testing/test-utils/src/lib/utils/os-agnostic-paths.ts @@ -1,5 +1,3 @@ -import type { AuditOutput, AuditReport } from '@code-pushup/models'; - const AGNOSTIC_PATH_SEP_REGEX = /[/\\]/g; const OS_AGNOSTIC_PATH_SEP = '/'; const OS_AGNOSTIC_CWD = ``; @@ -95,39 +93,3 @@ export function osAgnosticPath(filePath?: string): string | undefined { // path is segment (my-folder/my-file.ts or my-folder/sub-folder) return osAgnosticPathWithoutCwd; } - -export function osAgnosticAudit( - audit: T, - transformMessage: (message: string) => string = s => s, -): T { - const { issues = [] } = audit.details ?? {}; - if (issues.every(({ source }) => source == null)) { - return audit; - } - return { - ...audit, - details: { - issues: issues.map(issue => - issue.source == null - ? issue - : { - ...issue, - source: { - ...issue.source, - file: osAgnosticPath(issue.source.file), - }, - message: transformMessage(issue.message), - }, - ), - }, - }; -} - -export function osAgnosticAuditOutputs( - audits: T[], - transformAuditIssueMessage?: (message: string) => string, -): T[] { - return audits.map(audit => - osAgnosticAudit(audit, transformAuditIssueMessage), - ); -} diff --git a/tsconfig.base.json b/tsconfig.base.json index ac98b47ed..6c548ac08 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -38,6 +38,7 @@ ], "@code-pushup/models": ["packages/models/src/index.ts"], "@code-pushup/nx-plugin": ["packages/nx-plugin/src/index.ts"], + "@code-pushup/test-fixtures": ["testing/test-fixtures/src/index.ts"], "@code-pushup/test-nx-utils": ["testing/test-nx-utils/src/index.ts"], "@code-pushup/test-setup": ["testing/test-setup/src/index.ts"], "@code-pushup/test-setup-config": [