I wanted to write the values of an array into a JSON file by using writeFile .
console.log(category);
cy.writeFile('cypress/fixtures/actionsName.json', category);
I've outputted the values of the category array. See below
My expected contents of the file would be something like this
However, upon writing the contents of the JSON file using writeFile, it only prints the top level array, not including its contents.
I'm not sure what I'm missing, I would really appreciate if someone can take a look. Thanks in advance!
UPDATE: As per request, below is the code used to populate the category array. Let me know if anything needs to be updated/optimized.
getActionName(){
let category = new Array();
let actions = new Array();
//Get all action name and store to json
cy.get('.linkbox').each(($category) => {
//Get category name
const text = $category.find('.heading').text();
cy.log("Category: " + text);
category.push(text);
//Get each action name and push to the related category
cy.wrap($category).find('ul li h2').each(($action) => {
const text = $action.text();
cy.log("Action: " + text);
actions.push(text);
}).then(() => {
category[text] = actions;
actions = [];
})
}).then(() =>{
console.log(category);
//!Only writes the top level array
cy.writeFile('cypress/fixtures/actionsName.json', category);
})
}