fix: updates

This commit is contained in:
lohxt1 2024-12-05 15:45:36 +05:30
parent 482cb05d63
commit 4b4bd3bc95
7 changed files with 80 additions and 46 deletions

View File

@ -164,44 +164,22 @@ const mergeScripts = (collection, request, requestTreePath, scriptFlow) => {
}
};
const findItemInCollection = (collection, itemId) => {
let item = null;
if (collection.uid === itemId) {
return collection;
}
if (collection.items && collection.items.length) {
collection.items.forEach((item) => {
if (item.uid === itemId) {
item = item;
} else if (item.type === 'folder') {
item = findItemInCollection(item, itemId);
}
});
}
return item;
const findItem = (items = [], pathname) => {
return find(items, (i) => i.pathname === pathname);
};
const findItemInCollectionByPath = (collection, pathname) => {
let item = null;
const findItemInCollection = (collection, pathname) => {
let flattenedItems = flattenItems(collection.items);
if (collection.pathname === pathname) {
return collection;
}
return findItem(flattenedItems, pathname);
};
if (collection.items && collection.items.length) {
collection.items.forEach((_item) => {
if (_item.pathname === pathname) {
item = _item;
} else if (_item.type === 'folder') {
item = findItemInCollectionByPath(_item, pathname);
}
});
}
const findParentItemInCollection = (collection, pathname) => {
let flattenedItems = flattenItems(collection.items);
return item;
return find(flattenedItems, (item) => {
return item.items && find(item.items, (i) => i.pathname === pathname);
});
};
const flattenItems = (items = []) => {
@ -222,22 +200,13 @@ const flattenItems = (items = []) => {
return flattenedItems;
};
const findParentItemInCollectionByPath = (collection, pathname) => {
let flattenedItems = flattenItems(collection.items);
return find(flattenedItems, (item) => {
return item.items && find(item.items, (i) => i.pathname === pathname);
});
};
const getTreePathFromCollectionToItem = (collection, _item) => {
let path = [];
let item = findItemInCollectionByPath(collection, _item.pathname);
let item = findItemInCollection(collection, _item.pathname);
while (item) {
path.unshift(item);
item = findParentItemInCollectionByPath(collection, item.pathname);
item = findParentItemInCollection(collection, item.pathname);
}
return path;
};

View File

@ -43,10 +43,9 @@ const runSingleRequest = async function (
let request;
let nextRequestName;
let item = {
pathname: `${collectionPath}/${filename}`,
pathname: path.join(collectionPath, filename),
...bruJson
}
request = prepareRequest(item, collection);
request.__bruno__executionMode = 'cli';

View File

@ -14,6 +14,7 @@ auth:bearer {
vars:pre-request {
collection_pre_var: collection_pre_var_value
collection_pre_var_token: {{request_pre_var_token}}
collection-var: collection-var-value
}
docs {

View File

@ -0,0 +1,7 @@
meta {
name: bru
}
vars:pre-request {
folder-var: folder-var-value
}

View File

@ -0,0 +1,18 @@
meta {
name: getCollectionVar
type: http
seq: 9
}
get {
url: {{host}}/ping
body: none
auth: none
}
tests {
test("should get collection var in scripts", function() {
const testVar = bru.getCollectionVar("collection-var");
expect(testVar).to.equal("collection-var-value");
});
}

View File

@ -0,0 +1,18 @@
meta {
name: getFolderVar
type: http
seq: 8
}
get {
url: {{host}}/ping
body: none
auth: none
}
tests {
test("should get folder var in scripts", function() {
const testVar = bru.getFolderVar("folder-var");
expect(testVar).to.equal("folder-var-value");
});
}

View File

@ -0,0 +1,22 @@
meta {
name: getRequestVar
type: http
seq: 7
}
get {
url: {{host}}/ping
body: none
auth: none
}
vars:pre-request {
request-var: request-var-value
}
tests {
test("should get request var in scripts", function() {
const testVar = bru.getRequestVar("request-var");
expect(testVar).to.equal("request-var-value");
});
}