Search code examples
cypressfixturesassertion

How to assert list with fixtures list in Cypress


I have Toolbar.json in fixtures directory. In that json file I have a list

{
"toolbar_elements": [

    "Contact",
    "Language",
    "About",
    "Privacy"
]

}

And I have a website with main menu which has these 4 elements.

<div class="mainMenu">
  <ul>
     <li>
       <a>Contact</a>
     </li>
     <li>
       <a>Language</a>
     </li>
     <li>
       <a>About</a>
     </li>
     <li>
       <a>Privacy</a>
     </li>
   </ul>
 </div>

I want to make assertion and don't know how.

cy.get('[class="mainMenu"]').find('li').should('have.length', 4)

This passes. How can I check if list in Toolbar.json is the same as this in mainMenu?

Thank you


Solution

  • You can do something like this:

    cy.fixture('Toolbar.json').then((toolbar) => {
      cy.get('.mainMenu ul li a').each(($ele, index) => {
        expect(toolbar.toolbar_elements[index]).to.equal($ele.text().trim())
      })
    })