froth-webdriverio-framework 3.0.45 → 3.0.46

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.
@@ -6,17 +6,19 @@ async function callapi(method, api_url, queryParams, payloaddetails, authenticat
6
6
  api_url += `?${queryString}`;
7
7
  }
8
8
  console.log("URL: " + api_url);
9
- const formData = new FormData();
9
+ let formData = new FormData();
10
10
  console.log("Payload Details: before if loop", JSON.stringify(payloaddetails));
11
11
 
12
12
  if (payloaddetails && Object.keys(payloaddetails).length > 0) {
13
13
  console.log("Payload Details:", JSON.stringify(payloaddetails));
14
- Object.entries(payloaddetails).forEach(([key, value]) => formData.append(key, value));
14
+ formData= await jsonToFormData(payloaddetails);
15
+ console.log("FormData:", JSON.stringify(formData));
16
+ // Object.entries(payloaddetails).forEach(([key, value]) => formData.append(key, value));
15
17
  }
16
18
 
17
19
  try {
18
20
  // Prepare fetch options
19
- const options = {
21
+ let options = {
20
22
  method: method,
21
23
  headers: await formheaders(authentication, headers)
22
24
  };
@@ -35,7 +37,24 @@ async function callapi(method, api_url, queryParams, payloaddetails, authenticat
35
37
  }
36
38
  return response;
37
39
  }
38
-
40
+ async function jsonToFormData(json) {
41
+ const formData = new FormData();
42
+
43
+ function appendFormData(data, parentKey = '') {
44
+ if (data && typeof data === 'object' && !Array.isArray(data)) {
45
+ for (const key in data) {
46
+ if (data.hasOwnProperty(key)) {
47
+ appendFormData(data[key], parentKey ? `${parentKey}[${key}]` : key);
48
+ }
49
+ }
50
+ } else {
51
+ formData.append(parentKey, data);
52
+ }
53
+ }
54
+
55
+ appendFormData(json);
56
+ return formData;
57
+ }
39
58
 
40
59
  // Function to form headers
41
60
  async function formheaders(authentication, headers) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "froth-webdriverio-framework",
3
- "version": "3.0.45",
3
+ "version": "3.0.46",
4
4
  "readme": "WebdriverIO Integration",
5
5
  "description": "WebdriverIO and BrowserStack App Automate",
6
6
  "license": "MIT",