From 3fc82c49b3719b05124b799ec5ffd89500090ea7 Mon Sep 17 00:00:00 2001 From: prury Date: Fri, 24 Nov 2023 18:12:59 -0300 Subject: [PATCH 1/4] opengraph collection test --- tests/e2e/opengraph-collection.spec.ts | 63 ++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 tests/e2e/opengraph-collection.spec.ts diff --git a/tests/e2e/opengraph-collection.spec.ts b/tests/e2e/opengraph-collection.spec.ts new file mode 100644 index 0000000000..61c988720e --- /dev/null +++ b/tests/e2e/opengraph-collection.spec.ts @@ -0,0 +1,63 @@ +import { expect, test } from './fixtures' + +//checks collection metadata + +const collectionMetadata = [ + { + metaLocator: '[name="name"]', + attr: 'content', + content: 'KodaDot NFT Marketplace', + }, + { + metaLocator: '[name="description"]', + attr: 'content', + content: 'Amazing collection of generative AI waifus ❤️ ', + }, + { + metaLocator: '[property="og:url"]', + attr: 'content', + content: '/ahk/collection/165', + }, + { + metaLocator: '[property="og:title"]', + attr: 'content', + content: 'Berlin (Generative) Waifus', + }, + { + metaLocator: '[property="og:description"]', + attr: 'content', + content: 'Amazing collection of generative AI waifus ❤️ ', + }, + { + metaLocator: '[property="og:image"]', + attr: 'content', + content: + 'https://og-image-green-seven.vercel.app/Berlin%20(Generative)%20Waifus.jpeg?price=Items%3A12&image=https%3A%2F%2Fimage-beta.w.kodadot.xyz%2Fipfs%2Fbafybeicaq3tyi5z3uj2oqkern656y2cqnvbu6yjmzo5b23vnilndh7kezq', + }, + { + metaLocator: '[property="twitter:site"]', + attr: 'content', + content: '@KodaDot', + }, + { + metaLocator: '[property="twitter:title"]', + attr: 'content', + content: 'KodaDot - NFT Market Explorer', + }, + { + metaLocator: '[property="twitter:description"]', + attr: 'content', + content: 'One Stop NFT Shop on Polkadot', + }, +] + +test('Collection Opengraph', async ({ page }) => { + await page.goto('/ahk/collection/165') + for (const data of collectionMetadata) { + await expect(page.locator(`meta${data.metaLocator}`)).toHaveAttribute( + data.attr, + data.content, + ) + await expect(page.locator(`meta${data.metaLocator}`)).toHaveCount(1) + } +}) From 1d1bbb0e81dd3c28c5a46d9af3678108251417a5 Mon Sep 17 00:00:00 2001 From: prury Date: Fri, 24 Nov 2023 18:13:18 -0300 Subject: [PATCH 2/4] opengraph item test --- tests/e2e/opengraph-item.spec.ts | 73 ++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 tests/e2e/opengraph-item.spec.ts diff --git a/tests/e2e/opengraph-item.spec.ts b/tests/e2e/opengraph-item.spec.ts new file mode 100644 index 0000000000..fac01f5a4d --- /dev/null +++ b/tests/e2e/opengraph-item.spec.ts @@ -0,0 +1,73 @@ +import { expect, test } from './fixtures' + +const itemMetadata = [ + { + metaLocator: '[name="name"]', + attr: 'content', + content: 'KodaDot NFT Marketplace', + }, + { + metaLocator: '[name="description"]', + attr: 'content', + content: 'Konnichiwa!', + }, + { + metaLocator: '[property="og:url"]', + attr: 'content', + content: 'http://localhost:9090', + }, + { + metaLocator: '[property="og:title"]', + attr: 'content', + content: 'Berlin summer waifu #2', + }, + { + metaLocator: '[property="og:description"]', + attr: 'content', + content: 'Konnichiwa!', + }, + { + metaLocator: '[property="og:image"]', + attr: 'content', + content: + '2Fipfs%2Fbafybeifjk7i2o4xycsbg2dhiciwp4idqzarhschiuimznyrj6cb77a2pry', + }, + { + metaLocator: '[property="twitter:site"]', + attr: 'content', + content: '@KodaDot', + }, + { + metaLocator: '[property="twitter:title"]', + attr: 'content', + content: 'KodaDot - NFT Market Explorer', + }, + { + metaLocator: '[property="twitter:description"]', + attr: 'content', + content: 'One Stop NFT Shop on Polkadot', + }, + { + metaLocator: '[property="twitter:image"]', + attr: 'content', + content: 'http://localhost:9090/k_card.png', + }, +] + +test('Item Opengraph', async ({ page }) => { + await page.goto('/ahk/gallery/165-2') + for (const data of itemMetadata) { + console.log(data.metaLocator) + console.log(data.attr) + console.log(data.content) + await expect(page.locator(`meta${data.metaLocator}`)).toHaveAttribute( + data.attr, + new RegExp(data.content), + ) + await expect(page.locator(`meta${data.metaLocator}`)).toHaveCount(1) + } + await expect(page.getByTestId('metadata-link')).toHaveAttribute( + 'href', + 'https://image-beta.w.kodadot.xyz/ipfs/bafkreicpxyw67alyt53ql4sq5mo5vj23633igsxxyqowbui2qg4322e4wi', + ) +}) From 28c09fed6467865f9102248869c076610f91467f Mon Sep 17 00:00:00 2001 From: prury Date: Fri, 24 Nov 2023 18:13:42 -0300 Subject: [PATCH 3/4] delete old test --- tests/e2e/opengraph.ts | 107 ----------------------------------------- 1 file changed, 107 deletions(-) delete mode 100644 tests/e2e/opengraph.ts diff --git a/tests/e2e/opengraph.ts b/tests/e2e/opengraph.ts deleted file mode 100644 index 8974ac365b..0000000000 --- a/tests/e2e/opengraph.ts +++ /dev/null @@ -1,107 +0,0 @@ -import { expect, test } from '@playwright/test' - -//checks collection metadata -test('should render correct twitter opengraph on collection page', async ({ - page, -}) => { - await page.goto('/ahk/collection/165') - await expect(page.locator('[property="og:site_name"]')).toHaveAttribute( - 'content', - 'KodaDot - Polkadot / Kusama NFT explorer', - ) - await expect(page.locator('[property="twitter:site"]')).toHaveAttribute( - 'content', - '@KodaDot', - ) - await expect(page.locator('[property="twitter:card"]')).toHaveAttribute( - 'content', - 'summary_large_image', - ) - await expect(page.locator('[property="twitter:url"]')).toHaveAttribute( - 'content', - 'http://localhost:9090/ahk/collection/165', - ) - await expect(page.locator('[property="twitter:title"]')).toHaveAttribute( - 'content', - 'Berlin (Generative) Waifus', - ) - await expect( - page.locator('[property="twitter:description"]'), - ).toHaveAttribute('content', 'Amazing collection of generative AI waifus ❤️ ') - await expect(page.locator('[property="twitter:image"]')).toHaveAttribute( - 'content', - 'https://og-image-green-seven.vercel.app/Berlin%20(Generative)%20Waifus.jpeg?price=Items%3A1&image=https%3A%2F%2Fimage-beta.w.kodadot.xyz%2Fipfs%2Fbafybeicaq3tyi5z3uj2oqkern656y2cqnvbu6yjmzo5b23vnilndh7kezq', - ) -}) - -test('Search for duplicated meta tags on collection', async ({ page }) => { - await page.goto('/ahk/collection/165') - await expect(page.locator('[property="og:site_name"]')).toHaveCount(1) - await expect(page.locator('[property="twitter:site"]')).toHaveCount(1) - await expect(page.locator('[property="twitter:card"]')).toHaveCount(1) - await expect(page.locator('[property="twitter:url"]')).toHaveCount(1) - await expect(page.locator('[property="twitter:title"]')).toHaveCount(1) - await expect(page.locator('[property="twitter:description"]')).toHaveCount(1) - await expect(page.locator('[property="twitter:image"]')).toHaveCount(1) -}) - -//checks Item metadata -test('should render correct twitter opengraph on item page', async ({ - page, -}) => { - const waifuDescription = `Konnichiwa! I am your sweet anime waifu character generated by artificial intelligence during Berlin Blockchain Week. - Spring is already here and even summer is getting closer. - Let me tell you a secret about this picture: - This spring picture that you see is a medium-shot charcoal painting of me. - As you can see, I have rabbit ears. -I am wearing flower t-shirt. -The nostalgic lighting gives me more positive attitude towards life. -` - await page.goto('/ahk/gallery/165-2') - await expect(page.getByTestId('metadata-link')).toHaveAttribute( - 'href', - 'https://image-beta.w.kodadot.xyz/ipfs/bafkreicpxyw67alyt53ql4sq5mo5vj23633igsxxyqowbui2qg4322e4wi', - ) - await expect(page.locator('[property="og:site_name"]')).toHaveAttribute( - 'content', - 'KodaDot - Polkadot / Kusama NFT explorer', - ) - await expect(page.locator('[property="twitter:site"]')).toHaveAttribute( - 'content', - '@KodaDot', - ) - await expect(page.locator('[property="twitter:card"]')).toHaveAttribute( - 'content', - 'summary_large_image', - ) - await expect(page.locator('[property="twitter:url"]')).toHaveAttribute( - 'content', - 'http://localhost:9090/ahk/gallery/165-2', - ) - await expect(page.locator('[property="twitter:title"]')).toHaveAttribute( - 'content', - 'Berlin summer waifu', - ) - await expect( - page.locator('[property="twitter:description"]'), - ).toHaveAttribute('content', waifuDescription) - await expect(page.locator('[property="twitter:image"]')).toHaveAttribute( - 'content', - 'https://og-image-green-seven.vercel.app/Berlin%20summer%20waifu.jpeg?image=https%3A%2F%2Fimage-beta.w.kodadot.xyz%2Fipfs%2Fbafybeifjk7i2o4xycsbg2dhiciwp4idqzarhschiuimznyrj6cb77a2pry&mime=image%2Fpng', - ) -}) - -test('Search for duplicated meta tags on item', async ({ page }) => { - await page.goto('/ahk/gallery/165-2') - await expect(page.getByTestId('metadata-link')).toHaveAttribute( - 'href', - 'https://image-beta.w.kodadot.xyz/ipfs/bafkreicpxyw67alyt53ql4sq5mo5vj23633igsxxyqowbui2qg4322e4wi', - ) - await expect(page.locator('[property="og:site_name"]')).toHaveCount(1) - await expect(page.locator('[property="twitter:site"]')).toHaveCount(1) - await expect(page.locator('[property="twitter:card"]')).toHaveCount(1) - await expect(page.locator('[property="twitter:url"]')).toHaveCount(1) - await expect(page.locator('[property="twitter:title"]')).toHaveCount(1) - await expect(page.locator('[property="twitter:description"]')).toHaveCount(1) - await expect(page.locator('[property="twitter:image"]')).toHaveCount(1) -}) From 09513da6e543487f9c5191195506a286faeb81cb Mon Sep 17 00:00:00 2001 From: prury Date: Fri, 24 Nov 2023 18:24:09 -0300 Subject: [PATCH 4/4] console removal --- tests/e2e/opengraph-item.spec.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/e2e/opengraph-item.spec.ts b/tests/e2e/opengraph-item.spec.ts index fac01f5a4d..f837e611ba 100644 --- a/tests/e2e/opengraph-item.spec.ts +++ b/tests/e2e/opengraph-item.spec.ts @@ -57,9 +57,6 @@ const itemMetadata = [ test('Item Opengraph', async ({ page }) => { await page.goto('/ahk/gallery/165-2') for (const data of itemMetadata) { - console.log(data.metaLocator) - console.log(data.attr) - console.log(data.content) await expect(page.locator(`meta${data.metaLocator}`)).toHaveAttribute( data.attr, new RegExp(data.content),