New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More →

newman-reporter-qase

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

newman-reporter-qase - npm Package Compare versions

Comparing version

to
2.0.3

@@ -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",