@anddone/coretestautomation 1.0.8 → 1.0.9

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.
@@ -1,6 +1,36 @@
1
1
  import { Header } from "./base.api";
2
2
  export declare class Headers {
3
3
  static headers: Record<string, string>;
4
+ /**
5
+ * Constructs and returns HTTP headers based on the provided options.
6
+ * Only the headers present in the options object will be added.
7
+ * If an authorization token is provided, it is automatically
8
+ * prefixed with "Bearer ".
9
+ * @param options - Optional header configuration object.
10
+ * Supported properties:
11
+ * - origin: Sets the "Origin" header
12
+ * - contentType: Sets the "Content-Type" header
13
+ * - authorization: Bearer token value (without "Bearer " prefix)
14
+ * - xVersion: Sets the "x-version" header
15
+ * - apiKey: Sets the "x-api-key" header
16
+ * - appKey: Sets the "x-app-key" header
17
+ *
18
+ * @returns An object containing the constructed HTTP headers.
19
+ *
20
+ * @example
21
+ * getHeaders({
22
+ * contentType: "application/json",
23
+ * authorization: "abc123",
24
+ * apiKey: "my-api-key"
25
+ * });
26
+ *
27
+ * // Returns:
28
+ * // {
29
+ * // "Content-Type": "application/json",
30
+ * // "Authorization": "Bearer abc123",
31
+ * // "x-api-key": "my-api-key"
32
+ * // }
33
+ */
4
34
  static getHeaders(options?: Header): Record<string, string>;
5
35
  }
6
36
  //# sourceMappingURL=headers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../src/api/headers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,qBAAa,OAAO;IAClB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC,MAAM,CAAC,UAAU,CAAC,OAAO,GAAE,MAAW;CAWvC"}
1
+ {"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../src/api/headers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,qBAAa,OAAO;IAElB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,GAAE,MAAW;CAWvC"}
@@ -2,6 +2,36 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Headers = void 0;
4
4
  class Headers {
5
+ /**
6
+ * Constructs and returns HTTP headers based on the provided options.
7
+ * Only the headers present in the options object will be added.
8
+ * If an authorization token is provided, it is automatically
9
+ * prefixed with "Bearer ".
10
+ * @param options - Optional header configuration object.
11
+ * Supported properties:
12
+ * - origin: Sets the "Origin" header
13
+ * - contentType: Sets the "Content-Type" header
14
+ * - authorization: Bearer token value (without "Bearer " prefix)
15
+ * - xVersion: Sets the "x-version" header
16
+ * - apiKey: Sets the "x-api-key" header
17
+ * - appKey: Sets the "x-app-key" header
18
+ *
19
+ * @returns An object containing the constructed HTTP headers.
20
+ *
21
+ * @example
22
+ * getHeaders({
23
+ * contentType: "application/json",
24
+ * authorization: "abc123",
25
+ * apiKey: "my-api-key"
26
+ * });
27
+ *
28
+ * // Returns:
29
+ * // {
30
+ * // "Content-Type": "application/json",
31
+ * // "Authorization": "Bearer abc123",
32
+ * // "x-api-key": "my-api-key"
33
+ * // }
34
+ */
5
35
  static getHeaders(options = {}) {
6
36
  this.headers = {};
7
37
  if (options.origin)
@@ -1 +1 @@
1
- {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/api/headers.ts"],"names":[],"mappings":";;;AAEA,MAAa,OAAO;IAGlB,MAAM,CAAC,UAAU,CAAC,UAAkB,EAAE;QACpC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAC5D,IAAI,OAAO,CAAC,WAAW;YAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;QAC5E,IAAI,OAAO,CAAC,aAAa;YACvB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;QACpE,IAAI,OAAO,CAAC,QAAQ;YAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;QACnE,IAAI,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAC/D,IAAI,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAdD,0BAcC"}
1
+ {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/api/headers.ts"],"names":[],"mappings":";;;AAEA,MAAa,OAAO;IAIlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,MAAM,CAAC,UAAU,CAAC,UAAkB,EAAE;QACpC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAC5D,IAAI,OAAO,CAAC,WAAW;YAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;QAC5E,IAAI,OAAO,CAAC,aAAa;YACvB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;QACpE,IAAI,OAAO,CAAC,QAAQ;YAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;QACnE,IAAI,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAC/D,IAAI,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AA7CD,0BA6CC"}
@@ -42,19 +42,19 @@ export declare class ApiUtils {
42
42
  */
43
43
  static getRequest(): APIRequestContext;
44
44
  /**
45
- * Sets the API method and API path based on the provided API data JSON object
46
- * and API name key.
47
- *
48
- * This method is generic and works with any API data file that follows the
49
- * ApiFile structure (Record<string, { method: string; path: string }>).
50
- *
51
- * @template T - Type of the API data object passed to the method
52
- * @param apiName - Key name of the API entry inside the provided API data object
53
- * @param api - API data JSON object containing method and path definitions
54
- *
55
- * @example
56
- * ApiUtils.setApiData("login", apiData);
57
- */
45
+ * Sets the API method and API path based on the provided API data JSON object
46
+ * and API name key.
47
+ *
48
+ * This method is generic and works with any API data file that follows the
49
+ * ApiFile structure (Record<string, { method: string; path: string }>).
50
+ *
51
+ * @template T - Type of the API data object passed to the method
52
+ * @param apiName - Key name of the API entry inside the provided API data object
53
+ * @param api - API data JSON object containing method and path definitions
54
+ *
55
+ * @example
56
+ * ApiUtils.setApiData("login", apiData);
57
+ */
58
58
  static setApiData<T extends ApiFile>(apiName: keyof T, api: T): void;
59
59
  /**
60
60
  * This method is to get api method.
@@ -66,6 +66,35 @@ export declare class ApiUtils {
66
66
  * @returns string
67
67
  */
68
68
  static getApiPath(): string;
69
+ /**
70
+ * Builds a complete API path by replacing path parameter placeholders
71
+ * in the given API path with actual values.
72
+ *
73
+ * Placeholders in the apiPath should be defined using curly braces,
74
+ * e.g. `/users/{userId}/orders/{orderId}`.
75
+ *
76
+ * Each placeholder will be replaced with the corresponding value from
77
+ * the pathParams object. Values are URL-encoded using encodeURIComponent
78
+ * to ensure safe transmission.
79
+ *
80
+ * @param apiPath - The API endpoint path containing optional placeholders (e.g., "/users/{id}")
81
+ * @param pathParams - An optional key-value map where:
82
+ * - key represents the placeholder name (without braces)
83
+ * - value represents the replacement value
84
+ *
85
+ * @returns The final API path with all placeholders replaced by their encoded values.
86
+ *
87
+ * @example
88
+ * buildPath("/users/{id}", { id: "123" });
89
+ * // Returns: "/users/123"
90
+ *
91
+ * @example
92
+ * buildPath("/orders/{orderId}/items/{itemId}", {
93
+ * orderId: "ORD-001",
94
+ * itemId: "ITM-10"
95
+ * });
96
+ * // Returns: "/orders/ORD-001/items/ITM-10"
97
+ */
69
98
  private static buildPath;
70
99
  /**
71
100
  * This method to log request details in console if apiLogs flag is true.
@@ -1 +1 @@
1
- {"version":3,"file":"apiUtils.d.ts","sourceRoot":"","sources":["../../src/utils/apiUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAElE,KAAK,QAAQ,GAAG;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAExC,KAAK,cAAc,GAAG;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,MAAM;IAGN,EAAE;IAGF,GAAG;IAGG,IAAI;IAGJ,IAAI;CAGX;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAS;IAE/B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAoB;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAc;IAErC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAS;IACjC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAS;IAE/B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;IACpC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAM;IAEjC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,MAAM;IAQrB;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,iBAAiB;IAI5C;;;OAGG;IACH,MAAM,CAAC,UAAU;IAIjB;;;;;;;;;;;;;KAaC;IACD,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,OAAO,EACjC,OAAO,EAAE,MAAM,CAAC,EAChB,GAAG,EAAE,CAAC;IAMR;;;OAGG;IACH,MAAM,CAAC,WAAW;IAIlB;;;OAGG;IACH,MAAM,CAAC,UAAU;IAIjB,OAAO,CAAC,MAAM,CAAC,SAAS;IAexB;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CACf,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,EAC5D,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,cAAc;IAa1B;;;;OAIG;WACU,WAAW,CAAC,QAAQ,EAAE,WAAW;IAe9C;;;OAGG;IACH,MAAM,CAAC,WAAW;IAIlB;;;OAGG;IACH,MAAM,CAAC,eAAe,IAAI,MAAM;IAIhC;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,OAAO,KAAK,CAAC;IAIxC;;OAEG;IACH,MAAM,CAAC,WAAW;IAQlB;;;;;;;;;OASG;WACU,WAAW,CACtB,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,EAC5D,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,cAAc;IAyB1B;;;;;;OAMG;WACU,gBAAgB,CAAC,CAAC,GAAG,GAAG,EACnC,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,CAAC,GACf,OAAO,CAAC,CAAC,CAAC;IAmBb;;;;OAIG;WACU,gBAAgB,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAKlE;;;;;OAKG;WACU,yBAAyB,CACpC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,OAAO,CAAC,MAAM,CAAC;CA+BnB"}
1
+ {"version":3,"file":"apiUtils.d.ts","sourceRoot":"","sources":["../../src/utils/apiUtils.ts"],"names":[],"mappings":"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"}
@@ -48,19 +48,19 @@ class ApiUtils {
48
48
  return this.request;
49
49
  }
50
50
  /**
51
- * Sets the API method and API path based on the provided API data JSON object
52
- * and API name key.
53
- *
54
- * This method is generic and works with any API data file that follows the
55
- * ApiFile structure (Record<string, { method: string; path: string }>).
56
- *
57
- * @template T - Type of the API data object passed to the method
58
- * @param apiName - Key name of the API entry inside the provided API data object
59
- * @param api - API data JSON object containing method and path definitions
60
- *
61
- * @example
62
- * ApiUtils.setApiData("login", apiData);
63
- */
51
+ * Sets the API method and API path based on the provided API data JSON object
52
+ * and API name key.
53
+ *
54
+ * This method is generic and works with any API data file that follows the
55
+ * ApiFile structure (Record<string, { method: string; path: string }>).
56
+ *
57
+ * @template T - Type of the API data object passed to the method
58
+ * @param apiName - Key name of the API entry inside the provided API data object
59
+ * @param api - API data JSON object containing method and path definitions
60
+ *
61
+ * @example
62
+ * ApiUtils.setApiData("login", apiData);
63
+ */
64
64
  static setApiData(apiName, api) {
65
65
  this.apiMethod = api[apiName].method;
66
66
  this.apiPath = api[apiName].path;
@@ -79,6 +79,35 @@ class ApiUtils {
79
79
  static getApiPath() {
80
80
  return this.apiPath;
81
81
  }
82
+ /**
83
+ * Builds a complete API path by replacing path parameter placeholders
84
+ * in the given API path with actual values.
85
+ *
86
+ * Placeholders in the apiPath should be defined using curly braces,
87
+ * e.g. `/users/{userId}/orders/{orderId}`.
88
+ *
89
+ * Each placeholder will be replaced with the corresponding value from
90
+ * the pathParams object. Values are URL-encoded using encodeURIComponent
91
+ * to ensure safe transmission.
92
+ *
93
+ * @param apiPath - The API endpoint path containing optional placeholders (e.g., "/users/{id}")
94
+ * @param pathParams - An optional key-value map where:
95
+ * - key represents the placeholder name (without braces)
96
+ * - value represents the replacement value
97
+ *
98
+ * @returns The final API path with all placeholders replaced by their encoded values.
99
+ *
100
+ * @example
101
+ * buildPath("/users/{id}", { id: "123" });
102
+ * // Returns: "/users/123"
103
+ *
104
+ * @example
105
+ * buildPath("/orders/{orderId}/items/{itemId}", {
106
+ * orderId: "ORD-001",
107
+ * itemId: "ITM-10"
108
+ * });
109
+ * // Returns: "/orders/ORD-001/items/ITM-10"
110
+ */
82
111
  static buildPath(apiPath, pathParams) {
83
112
  if (!pathParams)
84
113
  return apiPath;
@@ -1 +1 @@
1
- {"version":3,"file":"apiUtils.js","sourceRoot":"","sources":["../../src/utils/apiUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apiUtils.js","sourceRoot":"","sources":["../../src/utils/apiUtils.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,130 @@
1
+ /**
2
+ * Utility class for handling files like Excel, CSV, JSON, XML, PDF, and Text.
3
+ * Provides helper methods for reading, writing, and manipulating files.
4
+ */
1
5
  export declare class FileCommonUtils {
2
- private static resolvePath;
3
- static readExcel<T = Record<string, any>>(fileName: string, sheetName?: string): Promise<T[]>;
4
- static writeExcel(fileName: string, data: Record<string, any>[], sheetName?: string): Promise<void>;
5
- static getExcelSheetNames(fileName: string): Promise<string[]>;
6
- static readCSV<T = Record<string, string>>(fileName: string, delimiter?: string): T[];
7
- static writeCSV(fileName: string, data: Record<string, any>[], delimiter?: string): void;
8
- static readJson<T>(fileName: string): T | null;
9
- static readXml<T>(fileName: string): Promise<T | null>;
6
+ /**
7
+ * Reads data from an Excel file and returns it as an array of objects.
8
+ * First row is treated as column headers.
9
+ *
10
+ * @template T - Type of row object
11
+ * @param filePath - Path to the Excel file
12
+ * @param sheetName - Optional sheet name (defaults to first sheet)
13
+ * @returns Promise resolving to array of row objects
14
+ */
15
+ static readExcel<T = Record<string, any>>(filePath: string, sheetName?: string): Promise<T[]>;
16
+ /**
17
+ * Writes data into an Excel file.
18
+ * Creates sheet if not exists, otherwise appends rows.
19
+ *
20
+ * @param filePath - Path to Excel file
21
+ * @param data - Array of objects to write
22
+ * @param sheetName - Sheet name (default: Sheet1)
23
+ */
24
+ static writeExcel(filePath: string, data: Record<string, any>[], sheetName?: string): Promise<void>;
25
+ /**
26
+ * Returns all sheet names from an Excel file.
27
+ *
28
+ * @param filePath - Path to Excel file
29
+ * @returns Promise resolving to array of sheet names
30
+ */
31
+ static getExcelSheetNames(filePath: string): Promise<string[]>;
32
+ /**
33
+ * Reads a CSV file and returns data as array of objects.
34
+ *
35
+ * @template T
36
+ * @param filePath - Path to CSV file
37
+ * @param delimiter - Column delimiter (default: ,)
38
+ * @returns Array of objects
39
+ */
40
+ static readCSV<T = Record<string, string>>(filePath: string, delimiter?: string): T[];
41
+ /**
42
+ * Writes data into a CSV file.
43
+ *
44
+ * @param filePath - Path to CSV file
45
+ * @param data - Array of objects
46
+ * @param delimiter - Column delimiter
47
+ */
48
+ static writeCSV(filePath: string, data: Record<string, any>[], delimiter?: string): void;
49
+ /**
50
+ * Reads JSON file and converts to object.
51
+ *
52
+ * @template T
53
+ * @param filePath - Path to JSON file
54
+ * @returns Parsed object or null
55
+ */
56
+ static readJson<T>(filePath: string): T | null;
57
+ /**
58
+ * Reads XML file and converts to object.
59
+ *
60
+ * @template T
61
+ * @param filePath - Path to XML file
62
+ * @returns Parsed XML object or null
63
+ */
64
+ static readXml<T>(filePath: string): Promise<T | null>;
65
+ /**
66
+ * Returns number of rows.
67
+ */
10
68
  static getRowCount<T>(data: T[]): number;
69
+ /**
70
+ * Returns number of columns.
71
+ */
11
72
  static getColumnCount<T extends Record<string, any>>(data: T[]): number;
73
+ /**
74
+ * Returns column headers.
75
+ */
12
76
  static getColumnHeaders<T extends Record<string, any>>(data: T[]): string[];
77
+ /**
78
+ * Returns value of a specific cell.
79
+ */
13
80
  static getCellData<T extends Record<string, any>>(data: T[], row: number, column: keyof T): any;
81
+ /**
82
+ * Filters rows by column value.
83
+ */
14
84
  static select<T extends Record<string, any>>(data: T[], column: keyof T, value: any): T[];
85
+ /**
86
+ * Reads text file.
87
+ */
15
88
  static readTextFile(filePath: string): Promise<string>;
89
+ /**
90
+ * Reads PDF file and extracts text.
91
+ */
16
92
  static readPdfFile(filePath: string): Promise<string>;
93
+ /**
94
+ * Replaces text inside a file.
95
+ */
17
96
  static editTextFile(filePath: string, search: string | RegExp, replace?: string): Promise<void>;
97
+ /**
98
+ * Counts files in a folder.
99
+ */
18
100
  static getFileCount(folderPath: string): Promise<number>;
101
+ /**
102
+ * Returns all file names in a folder.
103
+ */
19
104
  static getAllFileNames(folderPath: string): Promise<string[]>;
105
+ /**
106
+ * Extracts all URLs from a PDF file and navigates to one of them in the browser.
107
+ *
108
+ * Reads the PDF file, searches for HTTP/HTTPS links using regex,
109
+ * and opens the selected link in the provided Playwright page.
110
+ *
111
+ * @param page - Playwright Page object used for navigation
112
+ * @param filePath - Path to the PDF file
113
+ * @param index - Index of the link to open (default: 0 = first link)
114
+ *
115
+ * @returns Promise that resolves when navigation is complete
116
+ *
117
+ * @example
118
+ * await FileCommonUtils.clickLinkInsidePdf(page, "test-data/sample.pdf");
119
+ *
120
+ * @example
121
+ * // Open second link from PDF
122
+ * await FileCommonUtils.clickLinkInsidePdf(page, "test-data/sample.pdf", 1);
123
+ */
20
124
  static clickLinkInsidePdf(page: any, filePath: string, index?: number): Promise<void>;
125
+ /**
126
+ * Executes shell command in a folder.
127
+ */
21
128
  static runCommand(folderPath: string, command: string): Promise<string>;
22
129
  }
23
130
  //# sourceMappingURL=fileCommonUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fileCommonUtils.d.ts","sourceRoot":"","sources":["../../src/utils/fileCommonUtils.ts"],"names":[],"mappings":"AAWA,qBAAa,eAAe;IAE1B,OAAO,CAAC,MAAM,CAAC,WAAW;WAKf,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAC,SAAS,CAAC,EAAE,MAAM,GAAI,OAAO,CAAC,CAAC,EAAE,CAAC;WAqCtF,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,SAAW,GAAG,OAAO,CAAC,IAAI,CAAC;WAoC9F,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAYlE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,QAAQ,EAAE,MAAM,EAChB,SAAS,SAAM,GACd,CAAC,EAAE;IAoBN,MAAM,CAAC,QAAQ,CACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAC3B,SAAS,SAAM,GACd,IAAI;IAeP,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;WAUjC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAW5D,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM;IAIxC,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM;IAIvE,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE;IAI3E,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9C,IAAI,EAAE,CAAC,EAAE,EACT,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,GACd,GAAG;IAIN,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzC,IAAI,EAAE,CAAC,EAAE,EACT,MAAM,EAAE,MAAM,CAAC,EACf,KAAK,EAAE,GAAG,GACT,CAAC,EAAE;WAKO,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAS/C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAW7C,YAAY,CACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,OAAO,SAAK,GACX,OAAO,CAAC,IAAI,CAAC;WAWH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAYjD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;WAatD,kBAAkB,CAC7B,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,MAAM,EAChB,KAAK,SAAI,GACR,OAAO,CAAC,IAAI,CAAC;WAQH,UAAU,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;CAWnB"}
1
+ {"version":3,"file":"fileCommonUtils.d.ts","sourceRoot":"","sources":["../../src/utils/fileCommonUtils.ts"],"names":[],"mappings":"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"}
@@ -45,15 +45,23 @@ const child_process_1 = require("child_process");
45
45
  const util_1 = require("util");
46
46
  const pdfParse = require("pdf-parse");
47
47
  const execAsync = (0, util_1.promisify)(child_process_1.exec);
48
+ /**
49
+ * Utility class for handling files like Excel, CSV, JSON, XML, PDF, and Text.
50
+ * Provides helper methods for reading, writing, and manipulating files.
51
+ */
48
52
  class FileCommonUtils {
49
- // ================== PATH RESOLVER ==================
50
- static resolvePath(fileName) {
51
- return path.resolve(process.cwd(), "test-data", fileName);
52
- }
53
53
  // ================== EXCEL ==================
54
- static async readExcel(fileName, sheetName) {
54
+ /**
55
+ * Reads data from an Excel file and returns it as an array of objects.
56
+ * First row is treated as column headers.
57
+ *
58
+ * @template T - Type of row object
59
+ * @param filePath - Path to the Excel file
60
+ * @param sheetName - Optional sheet name (defaults to first sheet)
61
+ * @returns Promise resolving to array of row objects
62
+ */
63
+ static async readExcel(filePath, sheetName) {
55
64
  try {
56
- const filePath = this.resolvePath(fileName);
57
65
  const workbook = new exceljs_1.default.Workbook();
58
66
  await workbook.xlsx.readFile(filePath);
59
67
  const worksheet = sheetName ? workbook.getWorksheet(sheetName) : workbook.worksheets[0];
@@ -81,14 +89,21 @@ class FileCommonUtils {
81
89
  return data;
82
90
  }
83
91
  catch (error) {
84
- console.error(`Failed to read Excel: ${fileName}`, error);
92
+ console.error(`Failed to read Excel: ${filePath}`, error);
85
93
  return [];
86
94
  }
87
95
  }
88
- static async writeExcel(fileName, data, sheetName = 'Sheet1') {
96
+ /**
97
+ * Writes data into an Excel file.
98
+ * Creates sheet if not exists, otherwise appends rows.
99
+ *
100
+ * @param filePath - Path to Excel file
101
+ * @param data - Array of objects to write
102
+ * @param sheetName - Sheet name (default: Sheet1)
103
+ */
104
+ static async writeExcel(filePath, data, sheetName = 'Sheet1') {
89
105
  var _a;
90
106
  try {
91
- const filePath = this.resolvePath(fileName);
92
107
  const workbook = new exceljs_1.default.Workbook();
93
108
  // Load existing Excel if it exists
94
109
  if (fs.existsSync(filePath)) {
@@ -114,24 +129,37 @@ class FileCommonUtils {
114
129
  await workbook.xlsx.writeFile(filePath);
115
130
  }
116
131
  catch (error) {
117
- console.error(`Failed to write Excel: ${fileName}`, error);
132
+ console.error(`Failed to write Excel: ${filePath}`, error);
118
133
  }
119
134
  }
120
- static async getExcelSheetNames(fileName) {
135
+ /**
136
+ * Returns all sheet names from an Excel file.
137
+ *
138
+ * @param filePath - Path to Excel file
139
+ * @returns Promise resolving to array of sheet names
140
+ */
141
+ static async getExcelSheetNames(filePath) {
121
142
  try {
122
143
  const workbook = new exceljs_1.default.Workbook();
123
- await workbook.xlsx.readFile(this.resolvePath(fileName));
144
+ await workbook.xlsx.readFile(filePath);
124
145
  return workbook.worksheets.map(ws => ws.name);
125
146
  }
126
147
  catch (error) {
127
- console.error(`Failed to read sheet names: ${fileName}`, error);
148
+ console.error(`Failed to read sheet names: ${filePath}`, error);
128
149
  return [];
129
150
  }
130
151
  }
131
152
  // ================== CSV ==================
132
- static readCSV(fileName, delimiter = ",") {
153
+ /**
154
+ * Reads a CSV file and returns data as array of objects.
155
+ *
156
+ * @template T
157
+ * @param filePath - Path to CSV file
158
+ * @param delimiter - Column delimiter (default: ,)
159
+ * @returns Array of objects
160
+ */
161
+ static readCSV(filePath, delimiter = ",") {
133
162
  try {
134
- const filePath = this.resolvePath(fileName);
135
163
  const content = fs.readFileSync(filePath, "utf-8").trim();
136
164
  if (!content)
137
165
  return [];
@@ -147,16 +175,22 @@ class FileCommonUtils {
147
175
  });
148
176
  }
149
177
  catch (error) {
150
- console.error(`Failed to read CSV: ${fileName}`, error);
178
+ console.error(`Failed to read CSV: ${filePath}`, error);
151
179
  return [];
152
180
  }
153
181
  }
154
- static writeCSV(fileName, data, delimiter = ",") {
182
+ /**
183
+ * Writes data into a CSV file.
184
+ *
185
+ * @param filePath - Path to CSV file
186
+ * @param data - Array of objects
187
+ * @param delimiter - Column delimiter
188
+ */
189
+ static writeCSV(filePath, data, delimiter = ",") {
155
190
  var _a;
156
191
  try {
157
192
  if (!data.length)
158
193
  return;
159
- const filePath = this.resolvePath(fileName);
160
194
  const headers = Object.keys((_a = data[0]) !== null && _a !== void 0 ? _a : {}).join(delimiter);
161
195
  const rows = data
162
196
  .map((row) => Object.values(row).join(delimiter))
@@ -164,50 +198,81 @@ class FileCommonUtils {
164
198
  fs.writeFileSync(filePath, `${headers}\n${rows}`, "utf-8");
165
199
  }
166
200
  catch (error) {
167
- console.error(`Failed to write CSV: ${fileName}`, error);
201
+ console.error(`Failed to write CSV: ${filePath}`, error);
168
202
  }
169
203
  }
170
204
  // ================== JSON / XML ==================
171
- static readJson(fileName) {
205
+ /**
206
+ * Reads JSON file and converts to object.
207
+ *
208
+ * @template T
209
+ * @param filePath - Path to JSON file
210
+ * @returns Parsed object or null
211
+ */
212
+ static readJson(filePath) {
172
213
  try {
173
- const filePath = this.resolvePath(fileName);
174
214
  return JSON.parse(fs.readFileSync(filePath, "utf-8"));
175
215
  }
176
216
  catch (error) {
177
- console.error(`Failed to read JSON: ${fileName}`, error);
217
+ console.error(`Failed to read JSON: ${filePath}`, error);
178
218
  return null;
179
219
  }
180
220
  }
181
- static async readXml(fileName) {
221
+ /**
222
+ * Reads XML file and converts to object.
223
+ *
224
+ * @template T
225
+ * @param filePath - Path to XML file
226
+ * @returns Parsed XML object or null
227
+ */
228
+ static async readXml(filePath) {
182
229
  try {
183
- const xml = fs.readFileSync(this.resolvePath(fileName), "utf-8");
230
+ const xml = fs.readFileSync(filePath, "utf-8");
184
231
  return await (0, xml2js_1.parseStringPromise)(xml, { explicitArray: false });
185
232
  }
186
233
  catch (error) {
187
- console.error(`Failed to read XML: ${fileName}`, error);
234
+ console.error(`Failed to read XML: ${filePath}`, error);
188
235
  return null;
189
236
  }
190
237
  }
191
238
  // ================== DATA HELPERS ==================
239
+ /**
240
+ * Returns number of rows.
241
+ */
192
242
  static getRowCount(data) {
193
243
  return data.length;
194
244
  }
245
+ /**
246
+ * Returns number of columns.
247
+ */
195
248
  static getColumnCount(data) {
196
249
  var _a;
197
250
  return Object.keys((_a = data[0]) !== null && _a !== void 0 ? _a : {}).length;
198
251
  }
252
+ /**
253
+ * Returns column headers.
254
+ */
199
255
  static getColumnHeaders(data) {
200
256
  var _a;
201
257
  return Object.keys((_a = data[0]) !== null && _a !== void 0 ? _a : {});
202
258
  }
259
+ /**
260
+ * Returns value of a specific cell.
261
+ */
203
262
  static getCellData(data, row, column) {
204
263
  var _a;
205
264
  return (_a = data[row]) === null || _a === void 0 ? void 0 : _a[column];
206
265
  }
266
+ /**
267
+ * Filters rows by column value.
268
+ */
207
269
  static select(data, column, value) {
208
270
  return data.filter((row) => row[column] === value);
209
271
  }
210
272
  // ================== FILE UTILS ==================
273
+ /**
274
+ * Reads text file.
275
+ */
211
276
  static async readTextFile(filePath) {
212
277
  try {
213
278
  return await fs.promises.readFile(path.resolve(filePath), "utf-8");
@@ -217,6 +282,9 @@ class FileCommonUtils {
217
282
  return "";
218
283
  }
219
284
  }
285
+ /**
286
+ * Reads PDF file and extracts text.
287
+ */
220
288
  static async readPdfFile(filePath) {
221
289
  try {
222
290
  const buffer = await fs.promises.readFile(path.resolve(filePath));
@@ -228,6 +296,9 @@ class FileCommonUtils {
228
296
  return "";
229
297
  }
230
298
  }
299
+ /**
300
+ * Replaces text inside a file.
301
+ */
231
302
  static async editTextFile(filePath, search, replace = "") {
232
303
  try {
233
304
  const content = await this.readTextFile(filePath);
@@ -239,6 +310,9 @@ class FileCommonUtils {
239
310
  }
240
311
  }
241
312
  // ================== FOLDER UTILS ==================
313
+ /**
314
+ * Counts files in a folder.
315
+ */
242
316
  static async getFileCount(folderPath) {
243
317
  try {
244
318
  const entries = await fs.promises.readdir(path.resolve(folderPath), {
@@ -251,6 +325,9 @@ class FileCommonUtils {
251
325
  return 0;
252
326
  }
253
327
  }
328
+ /**
329
+ * Returns all file names in a folder.
330
+ */
254
331
  static async getAllFileNames(folderPath) {
255
332
  try {
256
333
  const entries = await fs.promises.readdir(path.resolve(folderPath), {
@@ -264,6 +341,25 @@ class FileCommonUtils {
264
341
  }
265
342
  }
266
343
  // ================== PDF LINK ==================
344
+ /**
345
+ * Extracts all URLs from a PDF file and navigates to one of them in the browser.
346
+ *
347
+ * Reads the PDF file, searches for HTTP/HTTPS links using regex,
348
+ * and opens the selected link in the provided Playwright page.
349
+ *
350
+ * @param page - Playwright Page object used for navigation
351
+ * @param filePath - Path to the PDF file
352
+ * @param index - Index of the link to open (default: 0 = first link)
353
+ *
354
+ * @returns Promise that resolves when navigation is complete
355
+ *
356
+ * @example
357
+ * await FileCommonUtils.clickLinkInsidePdf(page, "test-data/sample.pdf");
358
+ *
359
+ * @example
360
+ * // Open second link from PDF
361
+ * await FileCommonUtils.clickLinkInsidePdf(page, "test-data/sample.pdf", 1);
362
+ */
267
363
  static async clickLinkInsidePdf(page, filePath, index = 0) {
268
364
  var _a;
269
365
  const text = await this.readPdfFile(filePath);
@@ -274,6 +370,9 @@ class FileCommonUtils {
274
370
  console.warn("No valid link found in PDF");
275
371
  }
276
372
  // ================== COMMAND ==================
373
+ /**
374
+ * Executes shell command in a folder.
375
+ */
277
376
  static async runCommand(folderPath, command) {
278
377
  try {
279
378
  const { stdout } = await execAsync(command, {
@@ -1 +1 @@
1
- {"version":3,"file":"fileCommonUtils.js","sourceRoot":"","sources":["../../src/utils/fileCommonUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fileCommonUtils.js","sourceRoot":"","sources":["../../src/utils/fileCommonUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anddone/coretestautomation",
3
- "version": "1.0.8",
3
+ "version": "1.0.9",
4
4
  "main": "index.js",
5
5
  "type": "commonjs",
6
6
  "scripts": {
@@ -19,5 +19,8 @@
19
19
  "exceljs": "^4.4.0",
20
20
  "pdf-parse": "^1.1.1",
21
21
  "xml2js": "^0.6.2"
22
+ },
23
+ "overrides": {
24
+ "minimatch": "^10.2.1"
22
25
  }
23
26
  }
@@ -1,8 +1,39 @@
1
1
  import { Header } from "./base.api";
2
2
 
3
3
  export class Headers {
4
+
4
5
  static headers: Record<string, string>;
5
6
 
7
+ /**
8
+ * Constructs and returns HTTP headers based on the provided options.
9
+ * Only the headers present in the options object will be added.
10
+ * If an authorization token is provided, it is automatically
11
+ * prefixed with "Bearer ".
12
+ * @param options - Optional header configuration object.
13
+ * Supported properties:
14
+ * - origin: Sets the "Origin" header
15
+ * - contentType: Sets the "Content-Type" header
16
+ * - authorization: Bearer token value (without "Bearer " prefix)
17
+ * - xVersion: Sets the "x-version" header
18
+ * - apiKey: Sets the "x-api-key" header
19
+ * - appKey: Sets the "x-app-key" header
20
+ *
21
+ * @returns An object containing the constructed HTTP headers.
22
+ *
23
+ * @example
24
+ * getHeaders({
25
+ * contentType: "application/json",
26
+ * authorization: "abc123",
27
+ * apiKey: "my-api-key"
28
+ * });
29
+ *
30
+ * // Returns:
31
+ * // {
32
+ * // "Content-Type": "application/json",
33
+ * // "Authorization": "Bearer abc123",
34
+ * // "x-api-key": "my-api-key"
35
+ * // }
36
+ */
6
37
  static getHeaders(options: Header = {}) {
7
38
  this.headers = {};
8
39
  if (options.origin) this.headers["Origin"] = options.origin;
@@ -74,23 +74,20 @@ export class ApiUtils {
74
74
  }
75
75
 
76
76
  /**
77
- * Sets the API method and API path based on the provided API data JSON object
78
- * and API name key.
79
- *
80
- * This method is generic and works with any API data file that follows the
81
- * ApiFile structure (Record<string, { method: string; path: string }>).
82
- *
83
- * @template T - Type of the API data object passed to the method
84
- * @param apiName - Key name of the API entry inside the provided API data object
85
- * @param api - API data JSON object containing method and path definitions
86
- *
87
- * @example
88
- * ApiUtils.setApiData("login", apiData);
89
- */
90
- static setApiData<T extends ApiFile>(
91
- apiName: keyof T,
92
- api: T
93
- ) {
77
+ * Sets the API method and API path based on the provided API data JSON object
78
+ * and API name key.
79
+ *
80
+ * This method is generic and works with any API data file that follows the
81
+ * ApiFile structure (Record<string, { method: string; path: string }>).
82
+ *
83
+ * @template T - Type of the API data object passed to the method
84
+ * @param apiName - Key name of the API entry inside the provided API data object
85
+ * @param api - API data JSON object containing method and path definitions
86
+ *
87
+ * @example
88
+ * ApiUtils.setApiData("login", apiData);
89
+ */
90
+ static setApiData<T extends ApiFile>(apiName: keyof T, api: T) {
94
91
  this.apiMethod = api[apiName].method;
95
92
  this.apiPath = api[apiName].path;
96
93
  }
@@ -111,6 +108,35 @@ export class ApiUtils {
111
108
  return this.apiPath;
112
109
  }
113
110
 
111
+ /**
112
+ * Builds a complete API path by replacing path parameter placeholders
113
+ * in the given API path with actual values.
114
+ *
115
+ * Placeholders in the apiPath should be defined using curly braces,
116
+ * e.g. `/users/{userId}/orders/{orderId}`.
117
+ *
118
+ * Each placeholder will be replaced with the corresponding value from
119
+ * the pathParams object. Values are URL-encoded using encodeURIComponent
120
+ * to ensure safe transmission.
121
+ *
122
+ * @param apiPath - The API endpoint path containing optional placeholders (e.g., "/users/{id}")
123
+ * @param pathParams - An optional key-value map where:
124
+ * - key represents the placeholder name (without braces)
125
+ * - value represents the replacement value
126
+ *
127
+ * @returns The final API path with all placeholders replaced by their encoded values.
128
+ *
129
+ * @example
130
+ * buildPath("/users/{id}", { id: "123" });
131
+ * // Returns: "/users/123"
132
+ *
133
+ * @example
134
+ * buildPath("/orders/{orderId}/items/{itemId}", {
135
+ * orderId: "ORD-001",
136
+ * itemId: "ITM-10"
137
+ * });
138
+ * // Returns: "/orders/ORD-001/items/ITM-10"
139
+ */
114
140
  private static buildPath(
115
141
  apiPath: string,
116
142
  pathParams?: Record<string, string>,
@@ -6,20 +6,28 @@ import { exec } from "child_process";
6
6
  import { promisify } from "util";
7
7
 
8
8
  const pdfParse = require("pdf-parse");
9
-
10
9
  const execAsync = promisify(exec);
11
10
 
11
+ /**
12
+ * Utility class for handling files like Excel, CSV, JSON, XML, PDF, and Text.
13
+ * Provides helper methods for reading, writing, and manipulating files.
14
+ */
12
15
  export class FileCommonUtils {
13
- // ================== PATH RESOLVER ==================
14
- private static resolvePath(fileName: string): string {
15
- return path.resolve(process.cwd(), "test-data", fileName);
16
- }
17
16
 
18
17
  // ================== EXCEL ==================
19
- static async readExcel<T = Record<string, any>>(fileName: string,sheetName?: string,): Promise<T[]>
18
+
19
+ /**
20
+ * Reads data from an Excel file and returns it as an array of objects.
21
+ * First row is treated as column headers.
22
+ *
23
+ * @template T - Type of row object
24
+ * @param filePath - Path to the Excel file
25
+ * @param sheetName - Optional sheet name (defaults to first sheet)
26
+ * @returns Promise resolving to array of row objects
27
+ */
28
+ static async readExcel<T = Record<string, any>>(filePath: string,sheetName?: string,): Promise<T[]>
20
29
  {
21
30
  try {
22
- const filePath = this.resolvePath(fileName);
23
31
  const workbook = new ExcelJS.Workbook();
24
32
  await workbook.xlsx.readFile(filePath);
25
33
 
@@ -47,16 +55,22 @@ static async readExcel<T = Record<string, any>>(fileName: string,sheetName?: str
47
55
 
48
56
  return data;
49
57
  } catch (error) {
50
- console.error(`Failed to read Excel: ${fileName}`, error);
58
+ console.error(`Failed to read Excel: ${filePath}`, error);
51
59
  return [];
52
60
  }
53
61
  }
54
62
 
55
-
56
- static async writeExcel(fileName: string, data: Record<string, any>[], sheetName = 'Sheet1'): Promise<void>
63
+ /**
64
+ * Writes data into an Excel file.
65
+ * Creates sheet if not exists, otherwise appends rows.
66
+ *
67
+ * @param filePath - Path to Excel file
68
+ * @param data - Array of objects to write
69
+ * @param sheetName - Sheet name (default: Sheet1)
70
+ */
71
+ static async writeExcel(filePath: string, data: Record<string, any>[], sheetName = 'Sheet1'): Promise<void>
57
72
  {
58
73
  try {
59
- const filePath = this.resolvePath(fileName);
60
74
  const workbook = new ExcelJS.Workbook();
61
75
 
62
76
  // Load existing Excel if it exists
@@ -85,28 +99,40 @@ static async writeExcel(fileName: string, data: Record<string, any>[], sheetName
85
99
  // Save workbook (preserves all sheets)
86
100
  await workbook.xlsx.writeFile(filePath);
87
101
  } catch (error) {
88
- console.error(`Failed to write Excel: ${fileName}`, error);
102
+ console.error(`Failed to write Excel: ${filePath}`, error);
89
103
  }
90
104
  }
91
105
 
92
- static async getExcelSheetNames(fileName: string): Promise<string[]> {
106
+ /**
107
+ * Returns all sheet names from an Excel file.
108
+ *
109
+ * @param filePath - Path to Excel file
110
+ * @returns Promise resolving to array of sheet names
111
+ */
112
+ static async getExcelSheetNames(filePath: string): Promise<string[]> {
93
113
  try {
94
114
  const workbook = new ExcelJS.Workbook();
95
- await workbook.xlsx.readFile(this.resolvePath(fileName));
115
+ await workbook.xlsx.readFile(filePath);
96
116
  return workbook.worksheets.map(ws => ws.name);
97
117
  } catch (error) {
98
- console.error(`Failed to read sheet names: ${fileName}`, error);
118
+ console.error(`Failed to read sheet names: ${filePath}`, error);
99
119
  return [];
100
120
  }
101
121
  }
102
122
 
103
123
  // ================== CSV ==================
104
- static readCSV<T = Record<string, string>>(
105
- fileName: string,
106
- delimiter = ",",
107
- ): T[] {
124
+
125
+ /**
126
+ * Reads a CSV file and returns data as array of objects.
127
+ *
128
+ * @template T
129
+ * @param filePath - Path to CSV file
130
+ * @param delimiter - Column delimiter (default: ,)
131
+ * @returns Array of objects
132
+ */
133
+ static readCSV<T = Record<string, string>>(filePath: string, delimiter = ",",): T[]
134
+ {
108
135
  try {
109
- const filePath = this.resolvePath(fileName);
110
136
  const content = fs.readFileSync(filePath, "utf-8").trim();
111
137
  if (!content) return [];
112
138
  const [header, ...rows] = content.split("\n");
@@ -119,63 +145,92 @@ static async getExcelSheetNames(fileName: string): Promise<string[]> {
119
145
  return record as T;
120
146
  });
121
147
  } catch (error) {
122
- console.error(`Failed to read CSV: ${fileName}`, error);
148
+ console.error(`Failed to read CSV: ${filePath}`, error);
123
149
  return [];
124
150
  }
125
151
  }
126
152
 
127
- static writeCSV(
128
- fileName: string,
129
- data: Record<string, any>[],
130
- delimiter = ",",
131
- ): void {
153
+ /**
154
+ * Writes data into a CSV file.
155
+ *
156
+ * @param filePath - Path to CSV file
157
+ * @param data - Array of objects
158
+ * @param delimiter - Column delimiter
159
+ */
160
+ static writeCSV(filePath: string,data: Record<string, any>[], delimiter = ",",): void
161
+ {
132
162
  try {
133
163
  if (!data.length) return;
134
- const filePath = this.resolvePath(fileName);
135
164
  const headers = Object.keys(data[0] ?? {}).join(delimiter);
136
165
  const rows = data
137
166
  .map((row) => Object.values(row).join(delimiter))
138
167
  .join("\n");
139
168
  fs.writeFileSync(filePath, `${headers}\n${rows}`, "utf-8");
140
169
  } catch (error) {
141
- console.error(`Failed to write CSV: ${fileName}`, error);
170
+ console.error(`Failed to write CSV: ${filePath}`, error);
142
171
  }
143
172
  }
144
173
 
145
174
  // ================== JSON / XML ==================
146
- static readJson<T>(fileName: string): T | null {
175
+ /**
176
+ * Reads JSON file and converts to object.
177
+ *
178
+ * @template T
179
+ * @param filePath - Path to JSON file
180
+ * @returns Parsed object or null
181
+ */
182
+ static readJson<T>(filePath: string): T | null {
147
183
  try {
148
- const filePath = this.resolvePath(fileName);
149
184
  return JSON.parse(fs.readFileSync(filePath, "utf-8")) as T;
150
185
  } catch (error) {
151
- console.error(`Failed to read JSON: ${fileName}`, error);
186
+ console.error(`Failed to read JSON: ${filePath}`, error);
152
187
  return null;
153
188
  }
154
189
  }
155
190
 
156
- static async readXml<T>(fileName: string): Promise<T | null> {
191
+ /**
192
+ * Reads XML file and converts to object.
193
+ *
194
+ * @template T
195
+ * @param filePath - Path to XML file
196
+ * @returns Parsed XML object or null
197
+ */
198
+ static async readXml<T>(filePath: string): Promise<T | null> {
157
199
  try {
158
- const xml = fs.readFileSync(this.resolvePath(fileName), "utf-8");
200
+ const xml = fs.readFileSync(filePath, "utf-8");
159
201
  return await parseStringPromise(xml, { explicitArray: false });
160
202
  } catch (error) {
161
- console.error(`Failed to read XML: ${fileName}`, error);
203
+ console.error(`Failed to read XML: ${filePath}`, error);
162
204
  return null;
163
205
  }
164
206
  }
165
207
 
166
208
  // ================== DATA HELPERS ==================
209
+
210
+ /**
211
+ * Returns number of rows.
212
+ */
167
213
  static getRowCount<T>(data: T[]): number {
168
214
  return data.length;
169
215
  }
170
216
 
217
+ /**
218
+ * Returns number of columns.
219
+ */
171
220
  static getColumnCount<T extends Record<string, any>>(data: T[]): number {
172
221
  return Object.keys(data[0] ?? {}).length;
173
222
  }
174
223
 
224
+ /**
225
+ * Returns column headers.
226
+ */
175
227
  static getColumnHeaders<T extends Record<string, any>>(data: T[]): string[] {
176
228
  return Object.keys(data[0] ?? {});
177
229
  }
178
230
 
231
+ /**
232
+ * Returns value of a specific cell.
233
+ */
179
234
  static getCellData<T extends Record<string, any>>(
180
235
  data: T[],
181
236
  row: number,
@@ -184,6 +239,9 @@ static async getExcelSheetNames(fileName: string): Promise<string[]> {
184
239
  return data[row]?.[column];
185
240
  }
186
241
 
242
+ /**
243
+ * Filters rows by column value.
244
+ */
187
245
  static select<T extends Record<string, any>>(
188
246
  data: T[],
189
247
  column: keyof T,
@@ -193,6 +251,10 @@ static async getExcelSheetNames(fileName: string): Promise<string[]> {
193
251
  }
194
252
 
195
253
  // ================== FILE UTILS ==================
254
+
255
+ /**
256
+ * Reads text file.
257
+ */
196
258
  static async readTextFile(filePath: string): Promise<string> {
197
259
  try {
198
260
  return await fs.promises.readFile(path.resolve(filePath), "utf-8");
@@ -202,6 +264,9 @@ static async getExcelSheetNames(fileName: string): Promise<string[]> {
202
264
  }
203
265
  }
204
266
 
267
+ /**
268
+ * Reads PDF file and extracts text.
269
+ */
205
270
  static async readPdfFile(filePath: string): Promise<string> {
206
271
  try {
207
272
  const buffer = await fs.promises.readFile(path.resolve(filePath));
@@ -213,6 +278,9 @@ static async getExcelSheetNames(fileName: string): Promise<string[]> {
213
278
  }
214
279
  }
215
280
 
281
+ /**
282
+ * Replaces text inside a file.
283
+ */
216
284
  static async editTextFile(
217
285
  filePath: string,
218
286
  search: string | RegExp,
@@ -228,6 +296,10 @@ static async getExcelSheetNames(fileName: string): Promise<string[]> {
228
296
  }
229
297
 
230
298
  // ================== FOLDER UTILS ==================
299
+
300
+ /**
301
+ * Counts files in a folder.
302
+ */
231
303
  static async getFileCount(folderPath: string): Promise<number> {
232
304
  try {
233
305
  const entries = await fs.promises.readdir(path.resolve(folderPath), {
@@ -240,6 +312,9 @@ static async getExcelSheetNames(fileName: string): Promise<string[]> {
240
312
  }
241
313
  }
242
314
 
315
+ /**
316
+ * Returns all file names in a folder.
317
+ */
243
318
  static async getAllFileNames(folderPath: string): Promise<string[]> {
244
319
  try {
245
320
  const entries = await fs.promises.readdir(path.resolve(folderPath), {
@@ -253,6 +328,26 @@ static async getExcelSheetNames(fileName: string): Promise<string[]> {
253
328
  }
254
329
 
255
330
  // ================== PDF LINK ==================
331
+
332
+ /**
333
+ * Extracts all URLs from a PDF file and navigates to one of them in the browser.
334
+ *
335
+ * Reads the PDF file, searches for HTTP/HTTPS links using regex,
336
+ * and opens the selected link in the provided Playwright page.
337
+ *
338
+ * @param page - Playwright Page object used for navigation
339
+ * @param filePath - Path to the PDF file
340
+ * @param index - Index of the link to open (default: 0 = first link)
341
+ *
342
+ * @returns Promise that resolves when navigation is complete
343
+ *
344
+ * @example
345
+ * await FileCommonUtils.clickLinkInsidePdf(page, "test-data/sample.pdf");
346
+ *
347
+ * @example
348
+ * // Open second link from PDF
349
+ * await FileCommonUtils.clickLinkInsidePdf(page, "test-data/sample.pdf", 1);
350
+ */
256
351
  static async clickLinkInsidePdf(
257
352
  page: any,
258
353
  filePath: string,
@@ -265,6 +360,10 @@ static async getExcelSheetNames(fileName: string): Promise<string[]> {
265
360
  }
266
361
 
267
362
  // ================== COMMAND ==================
363
+
364
+ /**
365
+ * Executes shell command in a folder.
366
+ */
268
367
  static async runCommand(
269
368
  folderPath: string,
270
369
  command: string,