赛普拉斯 - 条件取决于 json 列表

Cypress - Condition depending on json list

我有一个 json 列表,其中包含数百个条目。我想检查列表是否包含特定条目。

我尝试使用 .contains 作为链接器,但这不被 Cypress 接受:

const permission_list = require('../../fixtures/permissions/permissions_admin.json')

describe('Test plan creator for Administrator', () => {
    it('create a test plan', () => {
        cy.get(permission_list[0].granted_permissions).then((list) => {
            if (list.contains('dyna'))
            {cy.log('Yes')}
            else
            {cy.log('No')}

        })
    })
})

这会导致错误消息:

TypeError
list.contains is not a function

{edit} 我也试过 .includes 而不是 .contains 结果相同

仅供参考,这是 json 列表的样子(我感兴趣的列表是列表 "granted permissions"

[
  {
    "name": "administrator",
    "title": "Administrator",
    "description": "",
    "is_external": "0",
    "granted_permissions": [
      "dyna",
      "jobcards",
      ...
      ...
    ],
    "denied_permissions": [],
    "inherited_roles": []
  }
]

您可以使用 Jquery inArray method.

describe('Test plan creator for Administrator', () => {

  it('create a test plan', () => {
    cy.get(permission_list[0].granted_permissions).then((list) => {
      if (Cypress.$.inArray('dyna', list) != -1) {
        cy.log('Yes') //dyna found
      } else {
        cy.log('No')
      }
    })
  })
})