newman-reporter-qase
Advanced tools
Comparing version
@@ -0,1 +1,7 @@ | ||
# qase-newman@2.0.3 | ||
## What's new | ||
Added support parameters from data files in Newman on collection and folder levels. | ||
# qase-newman@2.0.2 | ||
@@ -2,0 +8,0 @@ |
@@ -25,3 +25,3 @@ /// <reference types="node" /> | ||
/** | ||
* @param {EventList} eventList | ||
* @param {Item} item | ||
* @returns {string[]} | ||
@@ -86,3 +86,3 @@ * @private | ||
/** | ||
* @param {EventList} events | ||
* @param {Item} item | ||
* @param {number} iteration | ||
@@ -89,0 +89,0 @@ * @returns {Record<string, string>} |
@@ -34,9 +34,9 @@ "use strict"; | ||
/** | ||
* @param {EventList} eventList | ||
* @param {Item} item | ||
* @returns {string[]} | ||
* @private | ||
*/ | ||
static getParameters(eventList) { | ||
static getParameters(item) { | ||
const params = []; | ||
eventList.each((event) => { | ||
item.events.each((event) => { | ||
if (event.listen === 'test' && event.script.exec) { | ||
@@ -52,2 +52,6 @@ event.script.exec.forEach((line) => { | ||
}); | ||
const parent = item.parent(); | ||
if (parent && 'events' in parent) { | ||
params.push(...NewmanQaseReporter.getParameters(parent)); | ||
} | ||
return params; | ||
@@ -175,3 +179,3 @@ } | ||
} | ||
pendingResult.params = this.prepareParameters(item.events, exec.cursor.iteration); | ||
pendingResult.params = this.prepareParameters(item, exec.cursor.iteration); | ||
void this.reporter.addTestResult(pendingResult); | ||
@@ -220,3 +224,3 @@ } | ||
/** | ||
* @param {EventList} events | ||
* @param {Item} item | ||
* @param {number} iteration | ||
@@ -226,3 +230,3 @@ * @returns {Record<string, string>} | ||
*/ | ||
prepareParameters(events, iteration) { | ||
prepareParameters(item, iteration) { | ||
if (this.parameters.length === 0) { | ||
@@ -232,3 +236,3 @@ return {}; | ||
const availableParameters = this.parameters[iteration] ?? {}; | ||
const params = NewmanQaseReporter.getParameters(events); | ||
const params = NewmanQaseReporter.getParameters(item); | ||
if (params.length === 0) { | ||
@@ -241,5 +245,5 @@ if (this.autoCollectParams) { | ||
return params.reduce((filteredParams, param) => { | ||
const value = availableParameters[param]; | ||
const value = availableParameters[param.toLowerCase()]; | ||
if (value) { | ||
filteredParams[param] = value; | ||
filteredParams[param.toLowerCase()] = value; | ||
} | ||
@@ -279,3 +283,3 @@ return filteredParams; | ||
else { | ||
record[newKey] = String(value); | ||
record[newKey.toLowerCase()] = String(value); | ||
} | ||
@@ -282,0 +286,0 @@ } |
@@ -52,2 +52,62 @@ # How to Use Parameters from Data Files in Newman | ||
You also can specify parameters on collection or folder level. In this case, all tests in collection or folder will have | ||
these parameters. If test has own parameters, they will be merged with collection or folder parameters. | ||
```json | ||
{ | ||
"info": { | ||
"_postman_id": "collection_id", | ||
"name": "Collection Name", | ||
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" | ||
}, | ||
"item": [ | ||
{ | ||
"name": "Folder Name", | ||
"item": [ | ||
{ | ||
"name": "Test Name", | ||
"event": [ | ||
{ | ||
"listen": "test", | ||
"script": { | ||
"type": "text/javascript", | ||
"exec": [ | ||
"pm.test('Status code is 200', function () {", | ||
" pm.response.to.have.status(200);", | ||
"})" | ||
] | ||
} | ||
} | ||
], | ||
"request": { | ||
"method": "GET", | ||
"header": [], | ||
"url": { | ||
"raw": "https://api.example.com", | ||
"host": [ | ||
"api", | ||
"example", | ||
"com" | ||
] | ||
} | ||
}, | ||
"response": [] | ||
} | ||
], | ||
"event": [ | ||
{ | ||
"listen": "test", | ||
"script": { | ||
"exec": [ | ||
"// qase.parameters: userId, user.name" | ||
], | ||
"type": "text/javascript" | ||
} | ||
} | ||
] | ||
} | ||
] | ||
} | ||
``` | ||
### Expected Behavior | ||
@@ -54,0 +114,0 @@ |
{ | ||
"name": "newman-reporter-qase", | ||
"version": "2.0.2", | ||
"version": "2.0.3", | ||
"description": "Qase TMS Newman Reporter", | ||
@@ -5,0 +5,0 @@ "main": "./dist/index.js", |
6708125
0.03%453
0.89%