@decaf-ts/utils 0.11.17 → 0.11.18

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.
@@ -26,7 +26,7 @@ export * from "./writers";
26
26
  * @const VERSION
27
27
  * @memberOf module:utils
28
28
  */
29
- export declare const VERSION = "0.11.16";
29
+ export declare const VERSION = "0.11.17";
30
30
  /**
31
31
  * @description Represents the current version of the module.
32
32
  * @summary Stores the version for the @decaf-ts/utils package. The build replaces
package/lib/esm/index.js CHANGED
@@ -26,7 +26,7 @@ export * from "./writers/index.js";
26
26
  * @const VERSION
27
27
  * @memberOf module:utils
28
28
  */
29
- export const VERSION = "0.11.16";
29
+ export const VERSION = "0.11.17";
30
30
  /**
31
31
  * @description Represents the current version of the module.
32
32
  * @summary Stores the version for the @decaf-ts/utils package. The build replaces
@@ -28,6 +28,11 @@ export interface AddMsgParams {
28
28
  * @memberOf module:utils
29
29
  */
30
30
  export type PayloadType = "json" | "image" | "text" | "md";
31
+ export type EvidenceData = {
32
+ name: string;
33
+ content: string | Buffer;
34
+ path: string;
35
+ };
31
36
  /**
32
37
  * @description Environment variable key for Jest HTML reporters temporary directory path
33
38
  * @summary Constant defining the environment variable key for Jest HTML reporters
@@ -35,6 +40,20 @@ export type PayloadType = "json" | "image" | "text" | "md";
35
40
  * @memberOf module:utils
36
41
  */
37
42
  export declare const JestReportersTempPathEnvKey = "JEST_HTML_REPORTERS_TEMP_DIR_PATH";
43
+ /**
44
+ * @description Environment variable key to enable file-based evidence storage
45
+ * @summary Constant defining the environment variable key for storage enablement
46
+ * @const TestReporterStorageEnabledEnvKey
47
+ * @memberOf module:utils
48
+ */
49
+ export declare const TestReporterStorageEnabledEnvKey = "TEST_REPORTER_STORAGE_ENABLED";
50
+ /**
51
+ * @description Environment variable key for the base path of evidence storage
52
+ * @summary Constant defining the environment variable key for storage path
53
+ * @const TestReporterStoragePathEnvKey
54
+ * @memberOf module:utils
55
+ */
56
+ export declare const TestReporterStoragePathEnvKey = "TEST_REPORTER_STORAGE_PATH";
38
57
  /**
39
58
  * @description Test reporting utility class for managing test results and evidence
40
59
  * @summary A comprehensive test reporter that handles various types of test artifacts including messages,
@@ -114,7 +133,27 @@ export declare class TestReporter {
114
133
  * @type {SimpleDependencyMap}
115
134
  */
116
135
  private deps?;
136
+ /**
137
+ * @description Checks if storage is enabled via environment variables
138
+ * @summary Static getter for storage enablement status
139
+ * @type {boolean}
140
+ */
141
+ static get storageEnabled(): boolean;
142
+ /**
143
+ * @description Gets the base path for evidence storage from environment variables or default
144
+ * @summary Static getter for evidence storage base path
145
+ * @type {string}
146
+ */
147
+ static get storagePath(): string;
117
148
  constructor(testCase?: string, basePath?: string);
149
+ /**
150
+ * @description Retrieves all evidences for a given describe and it name
151
+ * @summary Searches the storage directory for matching evidences using string inclusion
152
+ * @param {string} describeName - Name of the describe block to match
153
+ * @param {string} itName - Name of the it block to match
154
+ * @return {EvidenceData[]} Array of matching evidences
155
+ */
156
+ static getEvidencesOf(describeName: string, itName: string): EvidenceData[];
118
157
  /**
119
158
  * @description Imports required helper functions
120
159
  * @summary Ensures all necessary dependencies are available and imports helper functions
@@ -150,6 +189,16 @@ export declare class TestReporter {
150
189
  * @return {Promise<void>} Promise that resolves when data is reported
151
190
  */
152
191
  protected report(reference: string, data: string | number | object | Buffer, type: PayloadType, trim?: boolean): Promise<void>;
192
+ /**
193
+ * @description Stores evidence to a file in the specified directory structure
194
+ * @summary Internal method to handle file-based storage of test artifacts
195
+ * @param {string} reference - Reference identifier for the data
196
+ * @param {any} data - Data to be stored
197
+ * @param {PayloadType} type - Type of the payload
198
+ * @param {string} extension - File extension to use
199
+ * @return {Promise<void>}
200
+ */
201
+ private storeEvidence;
153
202
  /**
154
203
  * @description Reports data with a specified type
155
204
  * @summary Wrapper method for reporting various types of data
@@ -8,6 +8,20 @@ import { installIfNotAvailable } from "./../utils/fs.js";
8
8
  * @memberOf module:utils
9
9
  */
10
10
  export const JestReportersTempPathEnvKey = "JEST_HTML_REPORTERS_TEMP_DIR_PATH";
11
+ /**
12
+ * @description Environment variable key to enable file-based evidence storage
13
+ * @summary Constant defining the environment variable key for storage enablement
14
+ * @const TestReporterStorageEnabledEnvKey
15
+ * @memberOf module:utils
16
+ */
17
+ export const TestReporterStorageEnabledEnvKey = "TEST_REPORTER_STORAGE_ENABLED";
18
+ /**
19
+ * @description Environment variable key for the base path of evidence storage
20
+ * @summary Constant defining the environment variable key for storage path
21
+ * @const TestReporterStoragePathEnvKey
22
+ * @memberOf module:utils
23
+ */
24
+ export const TestReporterStoragePathEnvKey = "TEST_REPORTER_STORAGE_PATH";
11
25
  /**
12
26
  * @description Array of dependencies required by the test reporter
13
27
  * @summary List of npm packages needed for reporting functionality
@@ -87,13 +101,78 @@ async function normalizeImport(importPromise) {
87
101
  * end
88
102
  */
89
103
  export class TestReporter {
90
- constructor(testCase = "tests", basePath = path.join(process.cwd(), "workdocs", "reports", "evidences")) {
104
+ /**
105
+ * @description Checks if storage is enabled via environment variables
106
+ * @summary Static getter for storage enablement status
107
+ * @type {boolean}
108
+ */
109
+ static get storageEnabled() {
110
+ return (process.env[TestReporterStorageEnabledEnvKey] === "true" ||
111
+ process.env["TEST_REPORTER_STORE_EVIDENCE"] === "true");
112
+ }
113
+ /**
114
+ * @description Gets the base path for evidence storage from environment variables or default
115
+ * @summary Static getter for evidence storage base path
116
+ * @type {string}
117
+ */
118
+ static get storagePath() {
119
+ return (process.env[TestReporterStoragePathEnvKey] ||
120
+ path.join(process.cwd(), "workdocs", "reports", "evidences"));
121
+ }
122
+ constructor(testCase = "tests", basePath = TestReporter.storagePath) {
91
123
  this.testCase = testCase;
92
124
  this.basePath = basePath;
125
+ const parentPath = basePath;
93
126
  this.basePath = path.join(basePath, this.testCase);
94
127
  if (!fs.existsSync(this.basePath)) {
95
- fs.mkdirSync(basePath, { recursive: true });
128
+ fs.mkdirSync(parentPath, { recursive: true });
129
+ }
130
+ }
131
+ /**
132
+ * @description Retrieves all evidences for a given describe and it name
133
+ * @summary Searches the storage directory for matching evidences using string inclusion
134
+ * @param {string} describeName - Name of the describe block to match
135
+ * @param {string} itName - Name of the it block to match
136
+ * @return {EvidenceData[]} Array of matching evidences
137
+ */
138
+ static getEvidencesOf(describeName, itName) {
139
+ const root = TestReporter.storagePath;
140
+ if (!fs.existsSync(root))
141
+ return [];
142
+ const evidences = [];
143
+ const normalize = (s) => s.toLowerCase().replace(/[- ]/g, "");
144
+ const nDescribe = normalize(describeName);
145
+ const nIt = normalize(itName);
146
+ const describeDirs = fs
147
+ .readdirSync(root)
148
+ .filter((d) => normalize(d).includes(nDescribe));
149
+ for (const dDir of describeDirs) {
150
+ const dPath = path.join(root, dDir);
151
+ if (!fs.statSync(dPath).isDirectory())
152
+ continue;
153
+ const itDirs = fs
154
+ .readdirSync(dPath)
155
+ .filter((i) => normalize(i).includes(nIt));
156
+ for (const iDir of itDirs) {
157
+ const iPath = path.join(dPath, iDir);
158
+ if (!fs.statSync(iPath).isDirectory())
159
+ continue;
160
+ const files = fs.readdirSync(iPath);
161
+ for (const file of files) {
162
+ const filePath = path.join(iPath, file);
163
+ if (fs.statSync(filePath).isFile()) {
164
+ const content = fs.readFileSync(filePath);
165
+ const isText = [".json", ".txt", ".md"].some((ext) => file.endsWith(ext));
166
+ evidences.push({
167
+ name: file,
168
+ path: filePath,
169
+ content: isText ? content.toString("utf-8") : content,
170
+ });
171
+ }
172
+ }
173
+ }
96
174
  }
175
+ return evidences;
97
176
  }
98
177
  /**
99
178
  * @description Imports required helper functions
@@ -167,20 +246,24 @@ export class TestReporter {
167
246
  try {
168
247
  let attachFunction = this.reportMessage.bind(this);
169
248
  let extension = ".txt";
249
+ let finalData = data;
170
250
  switch (type) {
171
251
  case "image":
172
- data = Buffer.from(data);
252
+ finalData = Buffer.from(data);
173
253
  extension = ".png";
174
254
  attachFunction = this.reportAttachment.bind(this);
175
255
  break;
176
256
  case "json":
177
257
  if (trim) {
178
- if (data.request)
179
- delete data["request"];
180
- if (data.config)
181
- delete data["config"];
258
+ // we clone to avoid modifying the original if it was an object passed by reference
259
+ const dataToTrim = JSON.parse(JSON.stringify(data));
260
+ if (dataToTrim.request)
261
+ delete dataToTrim.request;
262
+ if (dataToTrim.config)
263
+ delete dataToTrim.config;
264
+ finalData = dataToTrim;
182
265
  }
183
- data = JSON.stringify(data, null, 2);
266
+ finalData = JSON.stringify(finalData, null, 2);
184
267
  extension = ".json";
185
268
  break;
186
269
  case "md":
@@ -192,15 +275,58 @@ export class TestReporter {
192
275
  default:
193
276
  console.log(`Unsupported type ${type}. assuming text`);
194
277
  }
195
- reference = reference.includes("\n")
278
+ const refWithExt = reference.includes("\n") || reference.includes(extension)
196
279
  ? reference
197
280
  : `${reference}${extension}`;
198
- await attachFunction(reference, data);
281
+ await attachFunction(refWithExt, finalData);
282
+ if (TestReporter.storageEnabled) {
283
+ await this.storeEvidence(reference, finalData, type, extension);
284
+ }
199
285
  }
200
286
  catch (e) {
201
287
  throw new Error(`Could not store attach artifact ${reference} under to test report ${this.testCase} - ${e}`);
202
288
  }
203
289
  }
290
+ /**
291
+ * @description Stores evidence to a file in the specified directory structure
292
+ * @summary Internal method to handle file-based storage of test artifacts
293
+ * @param {string} reference - Reference identifier for the data
294
+ * @param {any} data - Data to be stored
295
+ * @param {PayloadType} type - Type of the payload
296
+ * @param {string} extension - File extension to use
297
+ * @return {Promise<void>}
298
+ */
299
+ async storeEvidence(reference, data, type, extension) {
300
+ let itName = "unknown-it";
301
+ try {
302
+ const state = global.expect?.getState();
303
+ if (state?.currentTestName) {
304
+ itName = state.currentTestName;
305
+ if (itName.startsWith(this.testCase)) {
306
+ itName = itName.substring(this.testCase.length).trim();
307
+ }
308
+ }
309
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
310
+ }
311
+ catch (e) {
312
+ // Ignore
313
+ }
314
+ const sanitizedItName = itName.replace(/[/\\?%*:|"<>]/g, "-") || "unknown-it";
315
+ const evidenceDir = path.join(this.basePath, sanitizedItName);
316
+ if (!fs.existsSync(evidenceDir)) {
317
+ fs.mkdirSync(evidenceDir, { recursive: true });
318
+ }
319
+ const fileName = reference.includes(extension)
320
+ ? reference
321
+ : `${reference}${extension}`;
322
+ const filePath = path.join(evidenceDir, fileName);
323
+ if (type === "image" || Buffer.isBuffer(data)) {
324
+ fs.writeFileSync(filePath, data);
325
+ }
326
+ else {
327
+ fs.writeFileSync(filePath, typeof data === "string" ? data : JSON.stringify(data, null, 2));
328
+ }
329
+ }
204
330
  /**
205
331
  * @description Reports data with a specified type
206
332
  * @summary Wrapper method for reporting various types of data
@@ -1 +1 @@
1
- {"version":3,"file":"TestReporter.js","sourceRoot":"","sources":["../../../src/tests/TestReporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TestReporter.js","sourceRoot":"","sources":["../../../src/tests/TestReporter.ts"],"names":[],"mappings":"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"}
package/lib/index.cjs CHANGED
@@ -43,7 +43,7 @@ __exportStar(require("./writers/index.cjs"), exports);
43
43
  * @const VERSION
44
44
  * @memberOf module:utils
45
45
  */
46
- exports.VERSION = "0.11.16";
46
+ exports.VERSION = "0.11.17";
47
47
  /**
48
48
  * @description Represents the current version of the module.
49
49
  * @summary Stores the version for the @decaf-ts/utils package. The build replaces
package/lib/index.d.ts CHANGED
@@ -26,7 +26,7 @@ export * from "./writers";
26
26
  * @const VERSION
27
27
  * @memberOf module:utils
28
28
  */
29
- export declare const VERSION = "0.11.16";
29
+ export declare const VERSION = "0.11.17";
30
30
  /**
31
31
  * @description Represents the current version of the module.
32
32
  * @summary Stores the version for the @decaf-ts/utils package. The build replaces
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.TestReporter = exports.JestReportersTempPathEnvKey = void 0;
39
+ exports.TestReporter = exports.TestReporterStoragePathEnvKey = exports.TestReporterStorageEnabledEnvKey = exports.JestReportersTempPathEnvKey = void 0;
40
40
  const path_1 = __importDefault(require("path"));
41
41
  const fs_1 = __importDefault(require("fs"));
42
42
  const fs_2 = require("./../utils/fs.cjs");
@@ -47,6 +47,20 @@ const fs_2 = require("./../utils/fs.cjs");
47
47
  * @memberOf module:utils
48
48
  */
49
49
  exports.JestReportersTempPathEnvKey = "JEST_HTML_REPORTERS_TEMP_DIR_PATH";
50
+ /**
51
+ * @description Environment variable key to enable file-based evidence storage
52
+ * @summary Constant defining the environment variable key for storage enablement
53
+ * @const TestReporterStorageEnabledEnvKey
54
+ * @memberOf module:utils
55
+ */
56
+ exports.TestReporterStorageEnabledEnvKey = "TEST_REPORTER_STORAGE_ENABLED";
57
+ /**
58
+ * @description Environment variable key for the base path of evidence storage
59
+ * @summary Constant defining the environment variable key for storage path
60
+ * @const TestReporterStoragePathEnvKey
61
+ * @memberOf module:utils
62
+ */
63
+ exports.TestReporterStoragePathEnvKey = "TEST_REPORTER_STORAGE_PATH";
50
64
  /**
51
65
  * @description Array of dependencies required by the test reporter
52
66
  * @summary List of npm packages needed for reporting functionality
@@ -126,13 +140,78 @@ async function normalizeImport(importPromise) {
126
140
  * end
127
141
  */
128
142
  class TestReporter {
129
- constructor(testCase = "tests", basePath = path_1.default.join(process.cwd(), "workdocs", "reports", "evidences")) {
143
+ /**
144
+ * @description Checks if storage is enabled via environment variables
145
+ * @summary Static getter for storage enablement status
146
+ * @type {boolean}
147
+ */
148
+ static get storageEnabled() {
149
+ return (process.env[exports.TestReporterStorageEnabledEnvKey] === "true" ||
150
+ process.env["TEST_REPORTER_STORE_EVIDENCE"] === "true");
151
+ }
152
+ /**
153
+ * @description Gets the base path for evidence storage from environment variables or default
154
+ * @summary Static getter for evidence storage base path
155
+ * @type {string}
156
+ */
157
+ static get storagePath() {
158
+ return (process.env[exports.TestReporterStoragePathEnvKey] ||
159
+ path_1.default.join(process.cwd(), "workdocs", "reports", "evidences"));
160
+ }
161
+ constructor(testCase = "tests", basePath = TestReporter.storagePath) {
130
162
  this.testCase = testCase;
131
163
  this.basePath = basePath;
164
+ const parentPath = basePath;
132
165
  this.basePath = path_1.default.join(basePath, this.testCase);
133
166
  if (!fs_1.default.existsSync(this.basePath)) {
134
- fs_1.default.mkdirSync(basePath, { recursive: true });
167
+ fs_1.default.mkdirSync(parentPath, { recursive: true });
168
+ }
169
+ }
170
+ /**
171
+ * @description Retrieves all evidences for a given describe and it name
172
+ * @summary Searches the storage directory for matching evidences using string inclusion
173
+ * @param {string} describeName - Name of the describe block to match
174
+ * @param {string} itName - Name of the it block to match
175
+ * @return {EvidenceData[]} Array of matching evidences
176
+ */
177
+ static getEvidencesOf(describeName, itName) {
178
+ const root = TestReporter.storagePath;
179
+ if (!fs_1.default.existsSync(root))
180
+ return [];
181
+ const evidences = [];
182
+ const normalize = (s) => s.toLowerCase().replace(/[- ]/g, "");
183
+ const nDescribe = normalize(describeName);
184
+ const nIt = normalize(itName);
185
+ const describeDirs = fs_1.default
186
+ .readdirSync(root)
187
+ .filter((d) => normalize(d).includes(nDescribe));
188
+ for (const dDir of describeDirs) {
189
+ const dPath = path_1.default.join(root, dDir);
190
+ if (!fs_1.default.statSync(dPath).isDirectory())
191
+ continue;
192
+ const itDirs = fs_1.default
193
+ .readdirSync(dPath)
194
+ .filter((i) => normalize(i).includes(nIt));
195
+ for (const iDir of itDirs) {
196
+ const iPath = path_1.default.join(dPath, iDir);
197
+ if (!fs_1.default.statSync(iPath).isDirectory())
198
+ continue;
199
+ const files = fs_1.default.readdirSync(iPath);
200
+ for (const file of files) {
201
+ const filePath = path_1.default.join(iPath, file);
202
+ if (fs_1.default.statSync(filePath).isFile()) {
203
+ const content = fs_1.default.readFileSync(filePath);
204
+ const isText = [".json", ".txt", ".md"].some((ext) => file.endsWith(ext));
205
+ evidences.push({
206
+ name: file,
207
+ path: filePath,
208
+ content: isText ? content.toString("utf-8") : content,
209
+ });
210
+ }
211
+ }
212
+ }
135
213
  }
214
+ return evidences;
136
215
  }
137
216
  /**
138
217
  * @description Imports required helper functions
@@ -206,20 +285,24 @@ class TestReporter {
206
285
  try {
207
286
  let attachFunction = this.reportMessage.bind(this);
208
287
  let extension = ".txt";
288
+ let finalData = data;
209
289
  switch (type) {
210
290
  case "image":
211
- data = Buffer.from(data);
291
+ finalData = Buffer.from(data);
212
292
  extension = ".png";
213
293
  attachFunction = this.reportAttachment.bind(this);
214
294
  break;
215
295
  case "json":
216
296
  if (trim) {
217
- if (data.request)
218
- delete data["request"];
219
- if (data.config)
220
- delete data["config"];
297
+ // we clone to avoid modifying the original if it was an object passed by reference
298
+ const dataToTrim = JSON.parse(JSON.stringify(data));
299
+ if (dataToTrim.request)
300
+ delete dataToTrim.request;
301
+ if (dataToTrim.config)
302
+ delete dataToTrim.config;
303
+ finalData = dataToTrim;
221
304
  }
222
- data = JSON.stringify(data, null, 2);
305
+ finalData = JSON.stringify(finalData, null, 2);
223
306
  extension = ".json";
224
307
  break;
225
308
  case "md":
@@ -231,15 +314,58 @@ class TestReporter {
231
314
  default:
232
315
  console.log(`Unsupported type ${type}. assuming text`);
233
316
  }
234
- reference = reference.includes("\n")
317
+ const refWithExt = reference.includes("\n") || reference.includes(extension)
235
318
  ? reference
236
319
  : `${reference}${extension}`;
237
- await attachFunction(reference, data);
320
+ await attachFunction(refWithExt, finalData);
321
+ if (TestReporter.storageEnabled) {
322
+ await this.storeEvidence(reference, finalData, type, extension);
323
+ }
238
324
  }
239
325
  catch (e) {
240
326
  throw new Error(`Could not store attach artifact ${reference} under to test report ${this.testCase} - ${e}`);
241
327
  }
242
328
  }
329
+ /**
330
+ * @description Stores evidence to a file in the specified directory structure
331
+ * @summary Internal method to handle file-based storage of test artifacts
332
+ * @param {string} reference - Reference identifier for the data
333
+ * @param {any} data - Data to be stored
334
+ * @param {PayloadType} type - Type of the payload
335
+ * @param {string} extension - File extension to use
336
+ * @return {Promise<void>}
337
+ */
338
+ async storeEvidence(reference, data, type, extension) {
339
+ let itName = "unknown-it";
340
+ try {
341
+ const state = global.expect?.getState();
342
+ if (state?.currentTestName) {
343
+ itName = state.currentTestName;
344
+ if (itName.startsWith(this.testCase)) {
345
+ itName = itName.substring(this.testCase.length).trim();
346
+ }
347
+ }
348
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
349
+ }
350
+ catch (e) {
351
+ // Ignore
352
+ }
353
+ const sanitizedItName = itName.replace(/[/\\?%*:|"<>]/g, "-") || "unknown-it";
354
+ const evidenceDir = path_1.default.join(this.basePath, sanitizedItName);
355
+ if (!fs_1.default.existsSync(evidenceDir)) {
356
+ fs_1.default.mkdirSync(evidenceDir, { recursive: true });
357
+ }
358
+ const fileName = reference.includes(extension)
359
+ ? reference
360
+ : `${reference}${extension}`;
361
+ const filePath = path_1.default.join(evidenceDir, fileName);
362
+ if (type === "image" || Buffer.isBuffer(data)) {
363
+ fs_1.default.writeFileSync(filePath, data);
364
+ }
365
+ else {
366
+ fs_1.default.writeFileSync(filePath, typeof data === "string" ? data : JSON.stringify(data, null, 2));
367
+ }
368
+ }
243
369
  /**
244
370
  * @description Reports data with a specified type
245
371
  * @summary Wrapper method for reporting various types of data
@@ -28,6 +28,11 @@ export interface AddMsgParams {
28
28
  * @memberOf module:utils
29
29
  */
30
30
  export type PayloadType = "json" | "image" | "text" | "md";
31
+ export type EvidenceData = {
32
+ name: string;
33
+ content: string | Buffer;
34
+ path: string;
35
+ };
31
36
  /**
32
37
  * @description Environment variable key for Jest HTML reporters temporary directory path
33
38
  * @summary Constant defining the environment variable key for Jest HTML reporters
@@ -35,6 +40,20 @@ export type PayloadType = "json" | "image" | "text" | "md";
35
40
  * @memberOf module:utils
36
41
  */
37
42
  export declare const JestReportersTempPathEnvKey = "JEST_HTML_REPORTERS_TEMP_DIR_PATH";
43
+ /**
44
+ * @description Environment variable key to enable file-based evidence storage
45
+ * @summary Constant defining the environment variable key for storage enablement
46
+ * @const TestReporterStorageEnabledEnvKey
47
+ * @memberOf module:utils
48
+ */
49
+ export declare const TestReporterStorageEnabledEnvKey = "TEST_REPORTER_STORAGE_ENABLED";
50
+ /**
51
+ * @description Environment variable key for the base path of evidence storage
52
+ * @summary Constant defining the environment variable key for storage path
53
+ * @const TestReporterStoragePathEnvKey
54
+ * @memberOf module:utils
55
+ */
56
+ export declare const TestReporterStoragePathEnvKey = "TEST_REPORTER_STORAGE_PATH";
38
57
  /**
39
58
  * @description Test reporting utility class for managing test results and evidence
40
59
  * @summary A comprehensive test reporter that handles various types of test artifacts including messages,
@@ -114,7 +133,27 @@ export declare class TestReporter {
114
133
  * @type {SimpleDependencyMap}
115
134
  */
116
135
  private deps?;
136
+ /**
137
+ * @description Checks if storage is enabled via environment variables
138
+ * @summary Static getter for storage enablement status
139
+ * @type {boolean}
140
+ */
141
+ static get storageEnabled(): boolean;
142
+ /**
143
+ * @description Gets the base path for evidence storage from environment variables or default
144
+ * @summary Static getter for evidence storage base path
145
+ * @type {string}
146
+ */
147
+ static get storagePath(): string;
117
148
  constructor(testCase?: string, basePath?: string);
149
+ /**
150
+ * @description Retrieves all evidences for a given describe and it name
151
+ * @summary Searches the storage directory for matching evidences using string inclusion
152
+ * @param {string} describeName - Name of the describe block to match
153
+ * @param {string} itName - Name of the it block to match
154
+ * @return {EvidenceData[]} Array of matching evidences
155
+ */
156
+ static getEvidencesOf(describeName: string, itName: string): EvidenceData[];
118
157
  /**
119
158
  * @description Imports required helper functions
120
159
  * @summary Ensures all necessary dependencies are available and imports helper functions
@@ -150,6 +189,16 @@ export declare class TestReporter {
150
189
  * @return {Promise<void>} Promise that resolves when data is reported
151
190
  */
152
191
  protected report(reference: string, data: string | number | object | Buffer, type: PayloadType, trim?: boolean): Promise<void>;
192
+ /**
193
+ * @description Stores evidence to a file in the specified directory structure
194
+ * @summary Internal method to handle file-based storage of test artifacts
195
+ * @param {string} reference - Reference identifier for the data
196
+ * @param {any} data - Data to be stored
197
+ * @param {PayloadType} type - Type of the payload
198
+ * @param {string} extension - File extension to use
199
+ * @return {Promise<void>}
200
+ */
201
+ private storeEvidence;
153
202
  /**
154
203
  * @description Reports data with a specified type
155
204
  * @summary Wrapper method for reporting various types of data
@@ -1 +1 @@
1
- {"version":3,"file":"TestReporter.js","sourceRoot":"","sources":["../../src/tests/TestReporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TestReporter.js","sourceRoot":"","sources":["../../src/tests/TestReporter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/utils",
3
- "version": "0.11.17",
3
+ "version": "0.11.18",
4
4
  "description": "module management utils for decaf-ts",
5
5
  "type": "module",
6
6
  "exports": {
@@ -99,10 +99,10 @@
99
99
  "dependencies": {
100
100
  "@decaf-ts/logging": "latest",
101
101
  "@eslint/js": "^9.25.1",
102
- "@rollup/plugin-commonjs": "^28.0.9",
102
+ "@rollup/plugin-commonjs": "^29.0.2",
103
103
  "@rollup/plugin-json": "^6.1.0",
104
104
  "@rollup/plugin-node-resolve": "^16.0.3",
105
- "@rollup/plugin-terser": "^0.4.4",
105
+ "@rollup/plugin-terser": "^1.0.0",
106
106
  "@rollup/plugin-typescript": "^12.3.0",
107
107
  "@stylistic/eslint-plugin": "^4.2.0",
108
108
  "@types/jest": "^30.0.0",
@@ -126,7 +126,7 @@
126
126
  "prettier": "3.5.3",
127
127
  "prompts": "^2.4.2",
128
128
  "rimraf": "^6.0.1",
129
- "rollup": "^4.0.0",
129
+ "rollup": "^4.59.0",
130
130
  "shell-quote": "^1.8.3",
131
131
  "styled-string-builder": "latest",
132
132
  "ts-jest": "^29.4.6",
@@ -136,10 +136,5 @@
136
136
  "typed-object-accumulator": "latest",
137
137
  "typescript": "^5.8.3",
138
138
  "typescript-eslint": "^8.31.0"
139
- },
140
- "overrides": {
141
- "minimatch": "^10.2.2",
142
- "test-exclude": "7.0.1",
143
- "serialize-javascript": "^7.0.3"
144
139
  }
145
140
  }