Chai-sorted выдает ошибку утверждения для массива чисел

#chai #cypress

#chai #cypress

Вопрос:

Я пытаюсь проверить значения в столбце в порядке убывания. Все значения в столбце являются целыми числами для изменения в процентах. Это работает всегда, за исключением случаев, когда в первой строке указано 100.

  cy.get(grid)

    .find(column)
    .each(child => {
      cellVals.push(child.text());
    })
    .then(() => {
      chai.expect(cellVals).to.be.sorted({ descending: true });
    });
  

Скриншот со значениями и отчет об ошибке

Не уверен, что не работает. Кажется довольно простым и не вижу причины, по которой это не удается. Ценю любую помощь.

Кроме того, есть ли какой-либо другой способ сравнения в Cypress без использования chai-sorted?

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

1. Cypress объединяет популярную библиотеку утверждений Chai «из коробки». Просил бы вас проверить это — docs.cypress.io/guides/references/assertions.html#Chai

2. Позже удалось выяснить, что на самом деле выполняется сравнение строк. Это не просто API Chai, но поведение по умолчанию для JS. Что-то вроде этого решило проблему: ожидайте(cellVals).to.be.deep.equal(sortedVals.map(v => String(v)));