From c32f2f1dd032970a6cc7787e93a255a0c1974861 Mon Sep 17 00:00:00 2001 From: kobenguyent Date: Sat, 25 Nov 2023 10:26:42 +0100 Subject: [PATCH 1/4] fix: seeAttributesOnElements check condition --- lib/helper/Playwright.js | 2 +- lib/helper/Puppeteer.js | 2 +- test/helper/webapi.js | 13 +++++++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/helper/Playwright.js b/lib/helper/Playwright.js index 2c76f9065..7639fc0c2 100644 --- a/lib/helper/Playwright.js +++ b/lib/helper/Playwright.js @@ -2145,7 +2145,7 @@ class Playwright extends Helper { let chunked = chunkArray(attrs, values.length); chunked = chunked.filter((val) => { for (let i = 0; i < val.length; ++i) { - if (val[i] !== values[i]) return false; + if (!val[i].includes(values[i])) return false; } return true; }); diff --git a/lib/helper/Puppeteer.js b/lib/helper/Puppeteer.js index 76f1ac2b5..d54515c8f 100644 --- a/lib/helper/Puppeteer.js +++ b/lib/helper/Puppeteer.js @@ -1815,7 +1815,7 @@ class Puppeteer extends Helper { let chunked = chunkArray(attrs, values.length); chunked = chunked.filter((val) => { for (let i = 0; i < val.length; ++i) { - if (val[i] !== values[i]) return false; + if (!val[i].includes(values[i])) return false; } return true; }); diff --git a/test/helper/webapi.js b/test/helper/webapi.js index c55e11637..3847afbb9 100644 --- a/test/helper/webapi.js +++ b/test/helper/webapi.js @@ -1340,6 +1340,19 @@ module.exports.tests = function () { } }); + it('should check href with splash', async function () { + if (isHelper('TestCafe')) this.skip(); + + try { + await I.amOnPage('https://github.com/codeceptjs/CodeceptJS/'); + await I.seeAttributesOnElements({ css: 'a[href="/team"]' }, { + href: '/team', + }); + } catch (e) { + e.message.should.include('all elements (a[href="/login"]) to have attributes {"href":"/team"}'); + } + }); + it('should check attributes values for several elements', async function () { if (isHelper('TestCafe')) this.skip(); From 0865a91e1b426470c01fa4b49f9477a5e290ee68 Mon Sep 17 00:00:00 2001 From: kobenguyent Date: Sat, 25 Nov 2023 11:21:14 +0100 Subject: [PATCH 2/4] fix: seeAttributesOnElements check condition --- test/helper/webapi.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/helper/webapi.js b/test/helper/webapi.js index 3847afbb9..2d246af9e 100644 --- a/test/helper/webapi.js +++ b/test/helper/webapi.js @@ -1341,7 +1341,7 @@ module.exports.tests = function () { }); it('should check href with splash', async function () { - if (isHelper('TestCafe')) this.skip(); + if (isHelper('TestCafe') || isHelper('WebDriver')) this.skip(); try { await I.amOnPage('https://github.com/codeceptjs/CodeceptJS/'); From 82d2e3af12473508d7b2e52b14eeeb1afd41378a Mon Sep 17 00:00:00 2001 From: kobenguyent Date: Sat, 25 Nov 2023 11:21:26 +0100 Subject: [PATCH 3/4] fix: seeAttributesOnElements check condition --- test/helper/webapi.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/helper/webapi.js b/test/helper/webapi.js index 2d246af9e..2f754af8c 100644 --- a/test/helper/webapi.js +++ b/test/helper/webapi.js @@ -1349,7 +1349,7 @@ module.exports.tests = function () { href: '/team', }); } catch (e) { - e.message.should.include('all elements (a[href="/login"]) to have attributes {"href":"/team"}'); + e.message.should.include('all elements (a[href="/team"]) to have attributes {"href":"/team"}'); } }); From 52a16004faca17f55a61420333b5ec222df77a4d Mon Sep 17 00:00:00 2001 From: kobenguyent Date: Thu, 30 Nov 2023 15:09:04 +0100 Subject: [PATCH 4/4] fix: UTs --- lib/helper/Puppeteer.js | 4 ++-- test/helper/webapi.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/helper/Puppeteer.js b/lib/helper/Puppeteer.js index b3f6f05e5..13c97b431 100644 --- a/lib/helper/Puppeteer.js +++ b/lib/helper/Puppeteer.js @@ -1817,9 +1817,9 @@ class Puppeteer extends Helper { let chunked = chunkArray(attrs, values.length); chunked = chunked.filter((val) => { for (let i = 0; i < val.length; ++i) { - const _acutal = Number.isNaN(val[i]) || (typeof values[i]) === 'string' ? val[i] : Number.parseInt(val[i], 10); + const _actual = Number.isNaN(val[i]) || (typeof values[i]) === 'string' ? val[i] : Number.parseInt(values[i], 10); const _expected = Number.isNaN(values[i]) || (typeof values[i]) === 'string' ? values[i] : Number.parseInt(values[i], 10); - if (_acutal !== _expected) return false; + if (!_actual.includes(_expected)) return false; } return true; }); diff --git a/test/helper/webapi.js b/test/helper/webapi.js index d9c8e9e69..3c9ea7b1c 100644 --- a/test/helper/webapi.js +++ b/test/helper/webapi.js @@ -1340,7 +1340,7 @@ module.exports.tests = function () { } }); - it('should check href with splash', async function () { + it('should check href with slash', async function () { if (isHelper('TestCafe') || isHelper('WebDriver')) this.skip(); try {