一覧から複数の条件にマッチするレコードのメニューをクリックするテストを以下のように書いたら動かなくてはまりました。
cy.find('tr')
.filter((_, tr) => {
const $tr = $(tr)
const column1 = $tr.find(':contains("あのデータ")').length
const column2 = $tr.find(':contains("このデータ")').length
// ここでデバッグしてた
cy.log(`${column1} && ${column2}`)
return column1 && column2
})
.should('have.length', 1)
.contains('メニュー')
.click()
})
filter()
のなかでlogを呼び出したら結果を返さないバグがあるようです。
デバッグのlogを消したらすんなり動きました。