Cypress API отвечает Array, но утверждение не удается - PullRequest
0 голосов
/ 30 апреля 2020

В настоящее время я пытаюсь утвердить элементы в массиве. Вот как тест написан в настоящее время.

    it.only('GET getUserPermissions', () => {

        cy.request({
            method: 'get',
            failOnStatusCode: false,
            log: true,
            url: 'https://someurl.org/api/getUserPermissions?=1234',
            headers: {
                //'accept': 'application/json',
                'authorization': 'Bearer ' + login.jwt
            },
            response: []
        }).then((response) => {
            console.log(response.body)
            assert.equal(response.status, 200)
            expect(response.body).to.not.be.null
            console.log(response)
            expect(response.body).to.contain(
                [[[43239,"admin",136,4],[43257,"database.events",165,4],43258,"deadbeat.list",113,4],43266,"navigation",6,4],[43267,"object",19,4],[43272,"qa.object",31,4],43278,"user",5,4]])
        })
    })

Ответ, который я получаю в Cypress Runner, выглядит следующим образом:

TEST
1 REQUEST GET 200 https://https://someurl.org/api/getUserPermissions?=1234
2 -ASSERT expected 200 to equal 200  --Pass
3 -ASSERT expected [ Array(7) ] not to be null --Pass
4 -ASSERT expected [ Array(7) ] to include [[[43239,"admin",136,4],[43257,"database.events",165,4],43258,"deadbeat.list",113,4],43266,"navigation",6,4],[43267,"object",19,4],[43272,"qa.object",31,4],43278,"user",5,4]]  --Fails

Когда я тестирую эту конечную точку в Postman, я получаю только массив [], но когда я запускаю это в бегуне, утверждение не выполняется, он не возвращает массив таким же образом. Как мне разобрать ответ, чтобы проверить значения? Это пользовательские разрешения, и я должен убедиться, что у пользователя есть правильные разрешения для правильного объекта.

1 Ответ

0 голосов
/ 02 мая 2020

Если вы хотите сравнить содержимое массива, вы можете просто пропустить через массив * oop и сравнить каждое значение отдельно.

Если у вас есть точная копия исходного массива для сравнения, вы можете глубоко сравнить массивы. Вы можете найти некоторые примеры использования deep утверждений с Cypress здесь или с Chai здесь .

...