Cypress выполните итерацию по массиву объектов и выберите необходимые типы разрешений

#javascript #multidimensional-array #cypress #e2e-testing

Вопрос:

В настоящее время я пытаюсь создать тест, который проверит все привилегии на основе массива объектов, переданных для приложения. Идея в том, что я бы передал массив и идентифицировал внутри каждого key access и type , а затем выбрал эти элементы на веб-странице. Я не уверен, какова правильная структура цикла для этого, так как я чувствую, что вложенный цикл внутри цикла неправильный. Мой пример приведен ниже. Объект страницы-это всего лишь краткое описание того, о чем я в настоящее время думал для обработки внутреннего цикла, ни в коем случае не являющегося конечным продуктом. Я считаю, что есть лучший способ, возможно, использовать Кипарис больше, но я не уверен, как ценится любое понимание

 // Spec Test

     const permissions = [
       "overview page" : {
         view: false,
         create: false,
         edit: true,
       },
       "campaigns" : {
         view: false,
         create: false,
         edit: true,
       }
     ]
    permissionPage.setPermissions(permissions)
 
 //Page object
     const permissions = [];

     for (const [key, value] of Permissions.entries(permissions)) {
       cy.get("tr").children("td").contains(key).parents("tr").children("td");
         if (value === true) {
          cy.clickOn(key)
       }
     }
  }
 

Комментарии:

1. Это примерно так же хорошо, как вы можете получить, это следует примеру Cypress для тестирования на основе данных. Это немного неясно из — за того, что объект страницы скрывает детали, вам было бы лучше просто выполнять действия непосредственно в тесте-более понятный/поддерживаемый подход.