playwright-testchimp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testchimp-reporter.js","sourceRoot":"","sources":["../src/testchimp-reporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Type definitions for the TestChimp Playwright reporter
3
+ * Uses camelCase for TypeScript interfaces
4
+ */
5
+ export declare enum SmartTestExecutionStatus {
6
+ UNKNOWN_SMART_TEST_EXECUTION_STATUS = 0,
7
+ SMART_TEST_EXECUTION_QUEUED = 1,
8
+ SMART_TEST_EXECUTION_IN_PROGRESS = 2,
9
+ SMART_TEST_EXECUTION_COMPLETED = 3,
10
+ SMART_TEST_EXECUTION_FAILED = 4,
11
+ SMART_TEST_EXECUTION_COMPLETED_WITH_REPAIRS = 5
12
+ }
13
+ export declare enum StepExecutionStatus {
14
+ UNKNOWN_STEP_EXECUTION_STATUS = 0,
15
+ SUCCESS_STEP_EXECUTION = 1,
16
+ FAILURE_STEP_EXECUTION = 2
17
+ }
18
+ export declare enum ScenarioCoverageStatus {
19
+ UNKNOWN_SCENARIO_COVERAGE_STATUS = 0,
20
+ SUCCESSFUL_SCENARIO_COVERAGE = 1,
21
+ FAILED_SCENARIO_COVERAGE = 2,
22
+ NOT_ATTEMPTED_SCENARIO_COVERAGE = 3
23
+ }
24
+ export interface PlaywrightLocation {
25
+ file?: string;
26
+ line?: number;
27
+ column?: number;
28
+ }
29
+ export interface PlaywrightError {
30
+ message?: string;
31
+ stack?: string;
32
+ snippet?: string;
33
+ value?: string;
34
+ location?: PlaywrightLocation;
35
+ cause?: PlaywrightError;
36
+ }
37
+ export interface SmartTestExecutionStep {
38
+ stepId?: string;
39
+ description: string;
40
+ code?: string;
41
+ screenshotBase64?: string;
42
+ screenshotPath?: string;
43
+ status: StepExecutionStatus;
44
+ error?: string;
45
+ wasRepaired?: boolean;
46
+ pwStepCategory?: string;
47
+ durationMs?: number;
48
+ pwError?: PlaywrightError;
49
+ }
50
+ export interface ScenarioCoverageResult {
51
+ scenarioTitle: string;
52
+ scenarioId?: string;
53
+ status: ScenarioCoverageStatus;
54
+ }
55
+ /** Single retry attempt log (steps + status + error for one attempt) */
56
+ export interface RetryAttemptLog {
57
+ retryCount?: number;
58
+ steps: SmartTestExecutionStep[];
59
+ status?: SmartTestExecutionStatus;
60
+ error?: string;
61
+ }
62
+ export interface SmartTestExecutionJobDetail {
63
+ testName: string;
64
+ steps: SmartTestExecutionStep[];
65
+ status: SmartTestExecutionStatus;
66
+ error?: string;
67
+ updatedScript?: string;
68
+ scenarioCoverageResults: ScenarioCoverageResult[];
69
+ /** All retry attempts (platform mode); each entry has retryCount, steps, status, error */
70
+ retryAttemptLogs?: RetryAttemptLog[];
71
+ pwError?: PlaywrightError;
72
+ traceGcsPath?: string;
73
+ }
74
+ export interface SmartTestExecutionReport {
75
+ folderPath: string;
76
+ fileName: string;
77
+ suitePath: string[];
78
+ testName: string;
79
+ release?: string;
80
+ environment?: string;
81
+ batchInvocationId?: string;
82
+ jobDetail: SmartTestExecutionJobDetail;
83
+ startedAtMillis?: number;
84
+ completedAtMillis?: number;
85
+ branchName?: string;
86
+ branchId?: number;
87
+ }
88
+ export interface IngestSmartTestExecutionReportRequest {
89
+ report: SmartTestExecutionReport;
90
+ }
91
+ export interface IngestSmartTestExecutionReportResponse {
92
+ jobId: string;
93
+ testId?: string;
94
+ testFound: boolean;
95
+ scenariosPopulated?: number;
96
+ }
97
+ /** One entry in the job manifest (test identity -> jobId) written by scriptservice for platform mode */
98
+ export interface JobManifestEntry {
99
+ fileId?: string;
100
+ testId?: string;
101
+ folderPath: string;
102
+ fileName: string;
103
+ suitePath: string[];
104
+ testName: string;
105
+ jobId: string;
106
+ }
107
+ /**
108
+ * Reporter configuration options
109
+ */
110
+ export interface TestChimpReporterOptions {
111
+ /** Override TESTCHIMP_API_KEY env var */
112
+ apiKey?: string;
113
+ /** Override TESTCHIMP_BACKEND_URL env var (default: https://featureservice.testchimp.io) - used for ingest in CI; also for ai-wright etc. */
114
+ backendUrl?: string;
115
+ /** Override TESTCHIMP_PLATFORM_BACKEND_URL env var - in platform mode, reporter uses this for step_end/test_end (scriptservice); if unset, falls back to backendUrl */
116
+ platformBackendUrl?: string;
117
+ /** Override TESTCHIMP_BATCH_INVOCATION_ID env var - when set (e.g. by platform), reporter uses this instead of generating one */
118
+ batchInvocationId?: string;
119
+ /** Override TESTCHIMP_PROJECT_ID env var (optional; server resolves project from API key when omitted) */
120
+ projectId?: string;
121
+ /** Override TESTCHIMP_TESTS_FOLDER env var - base folder for relative path calculation */
122
+ testsFolder?: string;
123
+ /** Override TESTCHIMP_RELEASE env var */
124
+ release?: string;
125
+ /** Override TESTCHIMP_ENV env var */
126
+ environment?: string;
127
+ /** Only report final retry attempt (default: true) */
128
+ reportOnlyFinalAttempt?: boolean;
129
+ /** Capture screenshots for failing steps (default: true) */
130
+ captureScreenshots?: boolean;
131
+ /** Enable verbose logging (default: false) */
132
+ verbose?: boolean;
133
+ /** Execution mode: 'ci' = report to featureservice ingest on test end; 'platform' = report step_end/test_end to scriptservice; 'repair' = report repair_step_end/repair_test_end to scriptservice (default: from TESTCHIMP_EXECUTION_MODE or 'ci') */
134
+ executionMode?: 'ci' | 'platform' | 'repair';
135
+ }
136
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ /**
3
+ * Type definitions for the TestChimp Playwright reporter
4
+ * Uses camelCase for TypeScript interfaces
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ScenarioCoverageStatus = exports.StepExecutionStatus = exports.SmartTestExecutionStatus = void 0;
8
+ var SmartTestExecutionStatus;
9
+ (function (SmartTestExecutionStatus) {
10
+ SmartTestExecutionStatus[SmartTestExecutionStatus["UNKNOWN_SMART_TEST_EXECUTION_STATUS"] = 0] = "UNKNOWN_SMART_TEST_EXECUTION_STATUS";
11
+ SmartTestExecutionStatus[SmartTestExecutionStatus["SMART_TEST_EXECUTION_QUEUED"] = 1] = "SMART_TEST_EXECUTION_QUEUED";
12
+ SmartTestExecutionStatus[SmartTestExecutionStatus["SMART_TEST_EXECUTION_IN_PROGRESS"] = 2] = "SMART_TEST_EXECUTION_IN_PROGRESS";
13
+ SmartTestExecutionStatus[SmartTestExecutionStatus["SMART_TEST_EXECUTION_COMPLETED"] = 3] = "SMART_TEST_EXECUTION_COMPLETED";
14
+ SmartTestExecutionStatus[SmartTestExecutionStatus["SMART_TEST_EXECUTION_FAILED"] = 4] = "SMART_TEST_EXECUTION_FAILED";
15
+ SmartTestExecutionStatus[SmartTestExecutionStatus["SMART_TEST_EXECUTION_COMPLETED_WITH_REPAIRS"] = 5] = "SMART_TEST_EXECUTION_COMPLETED_WITH_REPAIRS";
16
+ })(SmartTestExecutionStatus || (exports.SmartTestExecutionStatus = SmartTestExecutionStatus = {}));
17
+ var StepExecutionStatus;
18
+ (function (StepExecutionStatus) {
19
+ StepExecutionStatus[StepExecutionStatus["UNKNOWN_STEP_EXECUTION_STATUS"] = 0] = "UNKNOWN_STEP_EXECUTION_STATUS";
20
+ StepExecutionStatus[StepExecutionStatus["SUCCESS_STEP_EXECUTION"] = 1] = "SUCCESS_STEP_EXECUTION";
21
+ StepExecutionStatus[StepExecutionStatus["FAILURE_STEP_EXECUTION"] = 2] = "FAILURE_STEP_EXECUTION";
22
+ })(StepExecutionStatus || (exports.StepExecutionStatus = StepExecutionStatus = {}));
23
+ var ScenarioCoverageStatus;
24
+ (function (ScenarioCoverageStatus) {
25
+ ScenarioCoverageStatus[ScenarioCoverageStatus["UNKNOWN_SCENARIO_COVERAGE_STATUS"] = 0] = "UNKNOWN_SCENARIO_COVERAGE_STATUS";
26
+ ScenarioCoverageStatus[ScenarioCoverageStatus["SUCCESSFUL_SCENARIO_COVERAGE"] = 1] = "SUCCESSFUL_SCENARIO_COVERAGE";
27
+ ScenarioCoverageStatus[ScenarioCoverageStatus["FAILED_SCENARIO_COVERAGE"] = 2] = "FAILED_SCENARIO_COVERAGE";
28
+ ScenarioCoverageStatus[ScenarioCoverageStatus["NOT_ATTEMPTED_SCENARIO_COVERAGE"] = 3] = "NOT_ATTEMPTED_SCENARIO_COVERAGE";
29
+ })(ScenarioCoverageStatus || (exports.ScenarioCoverageStatus = ScenarioCoverageStatus = {}));
30
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,IAAY,wBAOX;AAPD,WAAY,wBAAwB;IAClC,qIAAuC,CAAA;IACvC,qHAA+B,CAAA;IAC/B,+HAAoC,CAAA;IACpC,2HAAkC,CAAA;IAClC,qHAA+B,CAAA;IAC/B,qJAA+C,CAAA;AACjD,CAAC,EAPW,wBAAwB,wCAAxB,wBAAwB,QAOnC;AAED,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,+GAAiC,CAAA;IACjC,iGAA0B,CAAA;IAC1B,iGAA0B,CAAA;AAC5B,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B;AAED,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,2HAAoC,CAAA;IACpC,mHAAgC,CAAA;IAChC,2GAA4B,CAAA;IAC5B,yHAAmC,CAAA;AACrC,CAAC,EALW,sBAAsB,sCAAtB,sBAAsB,QAKjC"}
@@ -0,0 +1,93 @@
1
+ import type { TestCase } from '@playwright/test/reporter';
2
+ import type { JobManifestEntry } from './types';
3
+ /**
4
+ * Derived path components for test identification
5
+ */
6
+ export interface DerivedPaths {
7
+ folderPath: string;
8
+ fileName: string;
9
+ suitePath: string[];
10
+ testName: string;
11
+ }
12
+ export interface TestInfoLike {
13
+ file: string;
14
+ title: string;
15
+ titlePath?: () => string[];
16
+ project?: {
17
+ name?: string;
18
+ };
19
+ }
20
+ /**
21
+ * Canonicalize folderPath to match scriptservice manifest convention:
22
+ * - normalize separators to '/'
23
+ * - trim duplicate slashes
24
+ * - strip leading './'
25
+ * - strip leading 'tests/' (or 'tests')
26
+ * - map '.' to ''
27
+ */
28
+ export declare function normalizeManifestFolderPath(folderPath: string): string;
29
+ /**
30
+ * Resolve a manifest jobId using robust fallback candidates for folderPath/suitePath.
31
+ * Exact candidates are attempted first, then normalized variants.
32
+ */
33
+ export declare function resolveJobIdFromManifest(manifest: JobManifestEntry[], key: {
34
+ folderPath: string;
35
+ fileName: string;
36
+ suitePath: string[];
37
+ testName: string;
38
+ }): string | undefined;
39
+ export interface ManifestResolutionResult {
40
+ entry: JobManifestEntry;
41
+ strategy: 'exact_path_tuple' | 'normalized_path_tuple' | 'suitepath_empty_fallback' | 'stable_identity_unique';
42
+ }
43
+ /**
44
+ * Resolve full manifest entry with deterministic strategy metadata.
45
+ * Stable identity (`fileName + suitePath + testName`) is preferred over path-only
46
+ * when it uniquely identifies a single manifest entry.
47
+ */
48
+ export declare function resolveManifestEntryFromRuntime(manifest: JobManifestEntry[], key: {
49
+ folderPath: string;
50
+ fileName: string;
51
+ suitePath: string[];
52
+ testName: string;
53
+ }): ManifestResolutionResult | undefined;
54
+ /**
55
+ * Derive path components from a Playwright TestInfo (runtime context).
56
+ *
57
+ * Note: This intentionally avoids reporter-only types like TestCase/Suite, since this
58
+ * is used in `@playwright/test` runtime hooks.
59
+ */
60
+ export declare function derivePathsFromTestInfo(testInfo: TestInfoLike, testsFolder: string, rootDir: string, verbose?: boolean): DerivedPaths;
61
+ /**
62
+ * Derive path components from a Playwright TestCase
63
+ *
64
+ * @param test The Playwright TestCase
65
+ * @param testsFolder Base folder for relative path calculation (optional)
66
+ * @param rootDir Playwright root directory
67
+ * @param verbose Whether to log path resolution details
68
+ * @returns Derived path components for test identification
69
+ */
70
+ export declare function derivePaths(test: TestCase, testsFolder: string, rootDir: string, verbose?: boolean): DerivedPaths;
71
+ /**
72
+ * Derive the tests folder name/path used for relative path calculation.
73
+ * Uses TESTCHIMP_TESTS_FOLDER env if set, otherwise default "tests".
74
+ */
75
+ export declare function deriveTestsFolder(_projectRootDir: string): string;
76
+ /**
77
+ * Get current branch name from CI/env (for TrueCoverage ci-test-info).
78
+ */
79
+ export declare function getBranchName(): string | undefined;
80
+ /**
81
+ * Generate a simple unique ID for steps
82
+ */
83
+ export declare function generateStepId(stepNumber: number): string;
84
+ /**
85
+ * Safely get an environment variable with optional default
86
+ */
87
+ export declare function getEnvVar(name: string, defaultValue?: string): string | undefined;
88
+ /**
89
+ * Generate a UUID v4
90
+ * Simple implementation without external dependency
91
+ */
92
+ export declare function generateUUID(): string;
93
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAS,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAStE;AAgBD;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,GAAG,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACnF,MAAM,GAAG,SAAS,CAEpB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EACJ,kBAAkB,GAClB,uBAAuB,GACvB,0BAA0B,GAC1B,wBAAwB,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,GAAG,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACnF,wBAAwB,GAAG,SAAS,CAkDtC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,OAAe,GACvB,YAAY,CA2Dd;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,OAAe,GACvB,YAAY,CAmGd;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,SAAS,CAWlD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEjF;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAMrC"}
package/dist/utils.js ADDED
@@ -0,0 +1,305 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.normalizeManifestFolderPath = normalizeManifestFolderPath;
7
+ exports.resolveJobIdFromManifest = resolveJobIdFromManifest;
8
+ exports.resolveManifestEntryFromRuntime = resolveManifestEntryFromRuntime;
9
+ exports.derivePathsFromTestInfo = derivePathsFromTestInfo;
10
+ exports.derivePaths = derivePaths;
11
+ exports.deriveTestsFolder = deriveTestsFolder;
12
+ exports.getBranchName = getBranchName;
13
+ exports.generateStepId = generateStepId;
14
+ exports.getEnvVar = getEnvVar;
15
+ exports.generateUUID = generateUUID;
16
+ const path_1 = __importDefault(require("path"));
17
+ /**
18
+ * Canonicalize folderPath to match scriptservice manifest convention:
19
+ * - normalize separators to '/'
20
+ * - trim duplicate slashes
21
+ * - strip leading './'
22
+ * - strip leading 'tests/' (or 'tests')
23
+ * - map '.' to ''
24
+ */
25
+ function normalizeManifestFolderPath(folderPath) {
26
+ if (!folderPath)
27
+ return '';
28
+ const posix = folderPath.split(path_1.default.sep).join('/').replace(/\\/g, '/');
29
+ const trimmed = posix
30
+ .replace(/^\.\//, '')
31
+ .replace(/\/{2,}/g, '/')
32
+ .replace(/^\/+|\/+$/g, '');
33
+ if (!trimmed || trimmed === '.')
34
+ return '';
35
+ return trimmed.replace(/^tests(?:\/|$)/, '');
36
+ }
37
+ function normalizeSuitePath(suitePath) {
38
+ return Array.isArray(suitePath) ? suitePath : [];
39
+ }
40
+ function buildSuitePathCandidates(runtimeSuitePath) {
41
+ const unique = new Map();
42
+ const add = (sp) => unique.set(JSON.stringify(sp), sp);
43
+ add(runtimeSuitePath);
44
+ if (runtimeSuitePath.length > 0) {
45
+ add([]);
46
+ }
47
+ return Array.from(unique.values());
48
+ }
49
+ /**
50
+ * Resolve a manifest jobId using robust fallback candidates for folderPath/suitePath.
51
+ * Exact candidates are attempted first, then normalized variants.
52
+ */
53
+ function resolveJobIdFromManifest(manifest, key) {
54
+ return resolveManifestEntryFromRuntime(manifest, key)?.entry?.jobId;
55
+ }
56
+ /**
57
+ * Resolve full manifest entry with deterministic strategy metadata.
58
+ * Stable identity (`fileName + suitePath + testName`) is preferred over path-only
59
+ * when it uniquely identifies a single manifest entry.
60
+ */
61
+ function resolveManifestEntryFromRuntime(manifest, key) {
62
+ const runtimeFolder = normalizeManifestFolderPath(key.folderPath);
63
+ const normalizedSuitePath = normalizeSuitePath(key.suitePath);
64
+ const suitePathJson = JSON.stringify(normalizedSuitePath);
65
+ const stableIdentityMatches = manifest.filter((e) => e.fileName === key.fileName &&
66
+ JSON.stringify(normalizeSuitePath(e.suitePath)) === suitePathJson &&
67
+ e.testName === key.testName &&
68
+ !!e.jobId);
69
+ if (stableIdentityMatches.length === 1) {
70
+ return { entry: stableIdentityMatches[0], strategy: 'stable_identity_unique' };
71
+ }
72
+ const exactTuple = manifest.find((e) => e.folderPath === key.folderPath &&
73
+ e.fileName === key.fileName &&
74
+ JSON.stringify(normalizeSuitePath(e.suitePath)) === suitePathJson &&
75
+ e.testName === key.testName &&
76
+ !!e.jobId);
77
+ if (exactTuple) {
78
+ return { entry: exactTuple, strategy: 'exact_path_tuple' };
79
+ }
80
+ const normalizedTuple = manifest.find((e) => normalizeManifestFolderPath(e.folderPath) === runtimeFolder &&
81
+ e.fileName === key.fileName &&
82
+ JSON.stringify(normalizeSuitePath(e.suitePath)) === suitePathJson &&
83
+ e.testName === key.testName &&
84
+ !!e.jobId);
85
+ if (normalizedTuple) {
86
+ return { entry: normalizedTuple, strategy: 'normalized_path_tuple' };
87
+ }
88
+ if (normalizedSuitePath.length > 0) {
89
+ const suiteEmpty = manifest.find((e) => normalizeManifestFolderPath(e.folderPath) === runtimeFolder &&
90
+ e.fileName === key.fileName &&
91
+ JSON.stringify(normalizeSuitePath(e.suitePath)) === '[]' &&
92
+ e.testName === key.testName &&
93
+ !!e.jobId);
94
+ if (suiteEmpty) {
95
+ return { entry: suiteEmpty, strategy: 'suitepath_empty_fallback' };
96
+ }
97
+ }
98
+ return undefined;
99
+ }
100
+ /**
101
+ * Derive path components from a Playwright TestInfo (runtime context).
102
+ *
103
+ * Note: This intentionally avoids reporter-only types like TestCase/Suite, since this
104
+ * is used in `@playwright/test` runtime hooks.
105
+ */
106
+ function derivePathsFromTestInfo(testInfo, testsFolder, rootDir, verbose = false) {
107
+ const basePath = testsFolder ? path_1.default.resolve(rootDir, testsFolder) : rootDir;
108
+ const filePath = testInfo.file;
109
+ const isRelativePath = !path_1.default.isAbsolute(filePath);
110
+ if (verbose) {
111
+ // eslint-disable-next-line no-console
112
+ console.log(`[TestChimp] Path derivation for test: ${testInfo.title}`);
113
+ // eslint-disable-next-line no-console
114
+ console.log(`[TestChimp] rootDir: ${rootDir}`);
115
+ // eslint-disable-next-line no-console
116
+ console.log(`[TestChimp] testsFolder: ${testsFolder || "(not set)"}`);
117
+ // eslint-disable-next-line no-console
118
+ console.log(`[TestChimp] basePath: ${basePath}`);
119
+ // eslint-disable-next-line no-console
120
+ console.log(`[TestChimp] testInfo.file (original): ${filePath}`);
121
+ // eslint-disable-next-line no-console
122
+ console.log(`[TestChimp] isRelativePath: ${isRelativePath}`);
123
+ }
124
+ const absoluteFilePath = isRelativePath ? path_1.default.resolve(rootDir, filePath) : filePath;
125
+ let relativePath = path_1.default.relative(basePath, absoluteFilePath);
126
+ relativePath = path_1.default.normalize(relativePath);
127
+ if (relativePath.startsWith("..")) {
128
+ const parts = relativePath.split(path_1.default.sep);
129
+ const filteredParts = parts.filter((p) => p !== ".." && p !== ".");
130
+ relativePath = filteredParts.join(path_1.default.sep);
131
+ }
132
+ // Normalize to forward slashes for consistent cross-platform encoding.
133
+ const posixRelative = relativePath.split(path_1.default.sep).join("/");
134
+ const folderPath = path_1.default.posix.dirname(posixRelative);
135
+ const fileName = path_1.default.posix.basename(posixRelative);
136
+ // Derive suitePath from titlePath() (exclude project + file + test title)
137
+ const suitePath = [];
138
+ const tp = typeof testInfo.titlePath === "function" ? testInfo.titlePath() : [];
139
+ if (Array.isArray(tp) && tp.length > 1) {
140
+ const projectName = testInfo.project?.name;
141
+ const baseFile = path_1.default.posix.basename(filePath.split(path_1.default.sep).join("/"));
142
+ for (const part of tp.slice(0, -1)) {
143
+ if (!part)
144
+ continue;
145
+ if (projectName && part === projectName)
146
+ continue;
147
+ if (part === baseFile)
148
+ continue;
149
+ // Filter out file-ish parts that Playwright sometimes includes.
150
+ if (/\.(spec|test)\.[jt]sx?$/.test(part))
151
+ continue;
152
+ if (part.includes("/") || part.includes("\\"))
153
+ continue;
154
+ suitePath.push(part);
155
+ }
156
+ }
157
+ return {
158
+ folderPath: folderPath === "." ? "" : folderPath,
159
+ fileName,
160
+ suitePath,
161
+ testName: testInfo.title,
162
+ };
163
+ }
164
+ /**
165
+ * Derive path components from a Playwright TestCase
166
+ *
167
+ * @param test The Playwright TestCase
168
+ * @param testsFolder Base folder for relative path calculation (optional)
169
+ * @param rootDir Playwright root directory
170
+ * @param verbose Whether to log path resolution details
171
+ * @returns Derived path components for test identification
172
+ */
173
+ function derivePaths(test, testsFolder, rootDir, verbose = false) {
174
+ // Calculate path relative to testsFolder (or rootDir if not specified)
175
+ const basePath = testsFolder ? path_1.default.resolve(rootDir, testsFolder) : rootDir;
176
+ const filePath = test.location.file;
177
+ const isRelativePath = !path_1.default.isAbsolute(filePath);
178
+ if (verbose) {
179
+ console.log(`[TestChimp] Path derivation for test: ${test.title}`);
180
+ console.log(`[TestChimp] rootDir: ${rootDir}`);
181
+ console.log(`[TestChimp] testsFolder: ${testsFolder || '(not set)'}`);
182
+ console.log(`[TestChimp] basePath: ${basePath}`);
183
+ console.log(`[TestChimp] test.location.file (original): ${filePath}`);
184
+ console.log(`[TestChimp] isRelativePath: ${isRelativePath}`);
185
+ }
186
+ // Always normalize to absolute path first for deterministic behavior
187
+ // This ensures consistent behavior regardless of whether Playwright returns
188
+ // absolute or relative paths (which can vary between CI and local runs)
189
+ const absoluteFilePath = isRelativePath
190
+ ? path_1.default.resolve(rootDir, filePath)
191
+ : filePath;
192
+ if (verbose) {
193
+ console.log(`[TestChimp] absoluteFilePath: ${absoluteFilePath}`);
194
+ }
195
+ // Calculate relative path from basePath to absolute file path
196
+ let relativePath = path_1.default.relative(basePath, absoluteFilePath);
197
+ relativePath = path_1.default.normalize(relativePath);
198
+ if (verbose) {
199
+ console.log(`[TestChimp] relativePath (after path.relative): ${relativePath}`);
200
+ }
201
+ // If the path still starts with ".." after normalization, remove those components
202
+ // This handles edge cases where the path goes outside the expected base
203
+ if (relativePath.startsWith('..')) {
204
+ if (verbose) {
205
+ console.log(`[TestChimp] WARNING: Path starts with "..", removing parent directory references`);
206
+ }
207
+ const parts = relativePath.split(path_1.default.sep);
208
+ const filteredParts = parts.filter(p => p !== '..' && p !== '.');
209
+ relativePath = filteredParts.join(path_1.default.sep);
210
+ if (verbose) {
211
+ console.log(`[TestChimp] relativePath (after removing ".."): ${relativePath}`);
212
+ }
213
+ }
214
+ // Use posix-style paths so manifest lookup matches scriptservice manifest (forward slashes)
215
+ const posixRelative = relativePath.split(path_1.default.sep).join('/');
216
+ const folderPath = (path_1.default.posix.dirname(posixRelative) === '.' ? '' : path_1.default.posix.dirname(posixRelative));
217
+ const fileName = path_1.default.posix.basename(posixRelative);
218
+ if (verbose) {
219
+ console.log(`[TestChimp] Final folderPath: "${folderPath}"`);
220
+ console.log(`[TestChimp] Final fileName: "${fileName}"`);
221
+ }
222
+ // Build suite path from parent suites (describe blocks)
223
+ // Walk up the parent chain, collecting suite titles
224
+ // According to Playwright docs: suite.location is missing for root and project suites
225
+ // We should only include suites that have a location (file-level and describe suites)
226
+ // and ensure they belong to the same test file
227
+ const suitePath = [];
228
+ let parent = test.parent;
229
+ const testFile = test.location.file;
230
+ while (parent) {
231
+ // Stop if we've reached a root or project suite (they don't have a location)
232
+ // This prevents including browser/project names like "chromium" in the suite path
233
+ if (!parent.location) {
234
+ break;
235
+ }
236
+ // Only include suites from the same test file
237
+ if (parent.location.file !== testFile) {
238
+ parent = parent.parent;
239
+ continue;
240
+ }
241
+ // Skip file-level suites (they have a location but their title is the file path)
242
+ // Only include describe block suites (nested test groups)
243
+ if (parent.title &&
244
+ !parent.title.endsWith('.spec.ts') &&
245
+ !parent.title.endsWith('.test.ts') &&
246
+ !parent.title.endsWith('.spec.js') &&
247
+ !parent.title.endsWith('.test.js')) {
248
+ suitePath.unshift(parent.title);
249
+ }
250
+ parent = parent.parent;
251
+ }
252
+ return {
253
+ folderPath: folderPath === '.' ? '' : folderPath,
254
+ fileName,
255
+ suitePath,
256
+ testName: test.title
257
+ };
258
+ }
259
+ /**
260
+ * Derive the tests folder name/path used for relative path calculation.
261
+ * Uses TESTCHIMP_TESTS_FOLDER env if set, otherwise default "tests".
262
+ */
263
+ function deriveTestsFolder(_projectRootDir) {
264
+ return process.env.TESTCHIMP_TESTS_FOLDER || 'tests';
265
+ }
266
+ /**
267
+ * Get current branch name from CI/env (for TrueCoverage ci-test-info).
268
+ */
269
+ function getBranchName() {
270
+ const fromEnv = process.env.TESTCHIMP_BRANCH_NAME ||
271
+ process.env.CI_COMMIT_REF_NAME ||
272
+ process.env.GIT_BRANCH ||
273
+ process.env.BRANCH_NAME;
274
+ if (fromEnv)
275
+ return fromEnv;
276
+ // GitHub Actions: GITHUB_REF is e.g. refs/heads/main
277
+ const ghRef = process.env.GITHUB_REF;
278
+ if (ghRef?.startsWith('refs/heads/'))
279
+ return ghRef.slice('refs/heads/'.length);
280
+ return undefined;
281
+ }
282
+ /**
283
+ * Generate a simple unique ID for steps
284
+ */
285
+ function generateStepId(stepNumber) {
286
+ return `step_${stepNumber}_${Date.now()}`;
287
+ }
288
+ /**
289
+ * Safely get an environment variable with optional default
290
+ */
291
+ function getEnvVar(name, defaultValue) {
292
+ return process.env[name] || defaultValue;
293
+ }
294
+ /**
295
+ * Generate a UUID v4
296
+ * Simple implementation without external dependency
297
+ */
298
+ function generateUUID() {
299
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
300
+ const r = (Math.random() * 16) | 0;
301
+ const v = c === 'x' ? r : (r & 0x3) | 0x8;
302
+ return v.toString(16);
303
+ });
304
+ }
305
+ //# sourceMappingURL=utils.js.map