From 4b988e36c423a801d0b8691ebe3ed1a3163072bf Mon Sep 17 00:00:00 2001 From: Max Skanvik <179694889+max-umain@users.noreply.github.com> Date: Mon, 16 Dec 2024 13:57:56 +0100 Subject: [PATCH 1/6] test(breadcrumbs): add darkmode screenshot test and refactor folder structure (#890) * test(breadcrumbs): add lightmode and darkmode tests * test(breadcrumbs): refactor tests to use beforeEach for page navigation * test(breadcrumbs): fix import of css variables --- .../test/default/darkmode/breadcrumbs.e2e.ts | 23 +++++++++++++++ ...ould-be-able-to-become-focused-1-linux.png | Bin 0 -> 6823 bytes ...-default-breadcrumbs-correctly-1-linux.png | Bin 0 -> 6774 bytes .../test/default/darkmode/index.html | 27 ++++++++++++++++++ .../{ => lightmode}/breadcrumbs.e2e.ts | 11 ++++--- ...uld-be-able-to-become-focused-1-linux.png} | Bin ...default-breadcrumbs-correctly-1-linux.png} | Bin .../test/default/{ => lightmode}/index.html | 0 8 files changed, 55 insertions(+), 6 deletions(-) create mode 100644 packages/core/src/components/breadcrumbs/test/default/darkmode/breadcrumbs.e2e.ts create mode 100644 packages/core/src/components/breadcrumbs/test/default/darkmode/breadcrumbs.e2e.ts-snapshots/tds-breadcrumbs-default-darkmode-page-3-item-should-be-able-to-become-focused-1-linux.png create mode 100644 packages/core/src/components/breadcrumbs/test/default/darkmode/breadcrumbs.e2e.ts-snapshots/tds-breadcrumbs-default-darkmode-renders-default-breadcrumbs-correctly-1-linux.png create mode 100644 packages/core/src/components/breadcrumbs/test/default/darkmode/index.html rename packages/core/src/components/breadcrumbs/test/default/{ => lightmode}/breadcrumbs.e2e.ts (89%) rename packages/core/src/components/breadcrumbs/test/default/{breadcrumbs.e2e.ts-snapshots/tds-breadcrumbs-default-page-3-item-should-be-able-to-become-focused-1-linux.png => lightmode/breadcrumbs.e2e.ts-snapshots/tds-breadcrumbs-default-lightmode-page-3-item-should-be-able-to-become-focused-1-linux.png} (100%) rename packages/core/src/components/breadcrumbs/test/default/{breadcrumbs.e2e.ts-snapshots/tds-breadcrumbs-default-renders-default-breadcrumbs-correctly-1-linux.png => lightmode/breadcrumbs.e2e.ts-snapshots/tds-breadcrumbs-default-lightmode-renders-default-breadcrumbs-correctly-1-linux.png} (100%) rename packages/core/src/components/breadcrumbs/test/default/{ => lightmode}/index.html (100%) diff --git a/packages/core/src/components/breadcrumbs/test/default/darkmode/breadcrumbs.e2e.ts b/packages/core/src/components/breadcrumbs/test/default/darkmode/breadcrumbs.e2e.ts new file mode 100644 index 000000000..858fb1f6f --- /dev/null +++ b/packages/core/src/components/breadcrumbs/test/default/darkmode/breadcrumbs.e2e.ts @@ -0,0 +1,23 @@ +import { test } from 'stencil-playwright'; +import { expect } from '@playwright/test'; + +const componentTestPath = 'src/components/breadcrumbs/test/default/darkmode/index.html'; + +test.describe.parallel('tds-breadcrumbs-default-darkmode', () => { + test.beforeEach(async ({ page }) => { + await page.goto(componentTestPath); + }); + + test('renders default breadcrumbs correctly', async ({ page }) => { + /* Check diff on screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); + + test('page 3 item should be able to become focused', async ({ page }) => { + const pageThree = page.getByText(/Page 3/); + await pageThree.focus(); + + /* Check diff on screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); +}); diff --git a/packages/core/src/components/breadcrumbs/test/default/darkmode/breadcrumbs.e2e.ts-snapshots/tds-breadcrumbs-default-darkmode-page-3-item-should-be-able-to-become-focused-1-linux.png b/packages/core/src/components/breadcrumbs/test/default/darkmode/breadcrumbs.e2e.ts-snapshots/tds-breadcrumbs-default-darkmode-page-3-item-should-be-able-to-become-focused-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..9782d4632d949863f77935a075a22e8e68195e0e GIT binary patch literal 6823 zcmeH}`B&3d8i!L`hZY7h)>g1AIS!`+DpHGptQn1dWP|0OZ5jU>*ln!)VY>2o%H z7PHSKgRL%Jf?MPDC8l|=1ko^o@P>AG5OBYCTxp55hkgV-MNK7e&0MB1qauWEuskOx z2gm&ux?OE{RJ#^XO#c2UgOSr-86Cf~t$J94~Wgs=BC{|Hz1+JXIaC1f89I766lw-W~82#Y!exiOI{as^nyAD-dWF z+x%jCaoBx9$XKD*?3$QJnw^kSg-_WOa_$hGaPq!b8~lRZEXZXNms_oS=&3@ zY0b1K{h1k5dx!0}_i1WN1pNBY{tmhh63CSVPezT<7ljUh(=*#k2m8KvT!ol zHkNElCd(=*=!-PzVnK;jcT<7$SEhOD_*!9f1zfu_)>S6%FL!U#@@r1|2gr-f0HsK4 z2NAT(!xc!$%1YtT4HGbH{{7*DFmh<9W8}v6oHe=!rBf^NPF2(Cc;%xen9q9MaHYpg zri4Vy9pU!{RH%e)8}El)pbPiAvDnNJ3Tbs}R5ZoqcF5kw#)=lnIhmqay6tFqESIEq zYS3-z4aq5&1?yD|G>@d2NEvU9?MS7zFqw3^mgttwTYQG{Ys9{w*`SNQNq=OK?N3G(!3dMeNV2gh$5G+oRDm($m@EQ zySsbb=9`p4p$k)bTdh`ijC$$r7P{a^bBH*w5_o4@lXZqX5*e4)YtnF@jGx{ywCf(S zzh5nLc42Kdx>Ap`wNo8K0T4w#T!c{-(bN94H#avIUO=)wk_-3wss$#k&8?TwsZK{> z6`AK?=+WyYEaq%48k^Y#!Ai$f;YH-*%*J}dbrW{S{2fh!1%x4+d^T{tt#O&XMq+m? z4QztFuCA>eyQk+x3?4qDPv-q3sfyJ%ZUSCEzs&))HZ^Hxp?a=%N3{>`LfcNjB#p*( zqhkI2Ilj0V>{eZZY2K;C#D%8~EFITFwEcF4f4B_lhMq1j^oC!!F!E@pxDwTa8Wtca zakPwSXM~!8V`{#JYdf0pKd<)|*b-+?7RWDAd|i{XPxnbZ;lmG(eN>a!N;iv`2rhbl z(#bsK!dLL}Bij^&pE@K3laPYp3K}R@X|I2uo}PaH{y9C~o}%u%F79_Oigx$a2|bcZ z%gXp*YsLIsikk*r)6>S*3aDW^8^Lvp4bOOz$fmPm0k!Bzh7F)=TEG{BWcNe zZXcm)rsr8t2poZkq!}hq27EfTv$>N_r`Ofhfzg-c(knA-l7@m}8+PK@CTWdZWkY4L z^mJ>#h_En>-gEH^$v>;%Z+_Y1G{7tBLP9UZu~5T%- z{W?3Ffu^y(tGW5b`a+B9jWDXB&@94@nz*pQ4X%oaadvWYa%tPHO*oP@8(kWq>kqDQ zS1x^|WN8~n{ZMxxp8wYJNv?SRs$_XtE|ZC#CkCdZq@*XD?js_$UpcFEYphX%(lxcE z#Xg`|EuAtreq}0(^;YMOnfRrl0x_Fid={bh2|%%(6X2u2r-|F)+F2`lJZwmuAPWA< zpS6@8aia_;{BRADJu779RZUNyLgqxP(ConQ&?ql#|5G4%9wIhB=`y@@a@E&|IBqGW zOBBgi0eeEkr+qvdRapttGMCun3%_-nUIKxBP3`jA#Uv8^0mZ2mlJ0L4*Y%6P-mp;5 zEiSgkQ5&nPt7~hSJp@j^xvj0O{h2F-H*3Gsd;9Y8u@Zq$sOIyI|F7`)U{8h2RpUN> zGyR@NYA$L>41G~aA2{Qiv@uV^KuM#qGcTmi3lUTz&L=JKFP()&2ZpIK5eqGi%Lp1t zaXYcZjs4;=mG+c@l)zG3fNc#{Li&Z$V*M}L1tavV1 zOfvY}A3fp+&E*zNAkzCvyG5BuIBr74R*Agj+fk6DCoT)KBeB(vJeP)_?@C|Z?I$`4KDVPSF6xr|F$=bINsy0wh$;UX);RtuPN#d>gFx4Vcj8VklV?H~=vw%lE^W{X6fqt}qzccX5RS zhIn0FYR8QDqW`ov%T!!qy!AVtJT_ZxfAD;E7&geTQt@fA6=AEsXjCS<_1AsCYO9wN z?H~LW=az1g&bnKazBuH<1VDO7S9&ua5`N*;B$nuU7)=;~)2f%=xx>p_K#AGtVEXO> zfnG{ZLLk?Y2J{(rKKh}Dp8<($_0X~qhyU>G3rlCA&|X`W=mDD)+5;y^6A8JWeFF@X z&T`PFAkaU0Z7%_{e|~OkjRcGYj0B7Xj0B7Xj0B7Xj0B7Xj0B7Xj0B7Xj0FBq1hmlR XFJ*Yk$*UP4pqxD&{6p)hOV|Gk<#;Fx literal 0 HcmV?d00001 diff --git a/packages/core/src/components/breadcrumbs/test/default/darkmode/breadcrumbs.e2e.ts-snapshots/tds-breadcrumbs-default-darkmode-renders-default-breadcrumbs-correctly-1-linux.png b/packages/core/src/components/breadcrumbs/test/default/darkmode/breadcrumbs.e2e.ts-snapshots/tds-breadcrumbs-default-darkmode-renders-default-breadcrumbs-correctly-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..ff732df4690b189a2c3716e64302d1bca2db2f03 GIT binary patch literal 6774 zcmeI0`%{wn9>-}rXKia;cc+~GWX{)Y1--ygo8?>sZlGw=87^Zv|y z=lMPIOsM1L-J3xmkmKq9ocIL<`a5v^VrbJBKsgHjaRX2`V15Y=0nvCaiy+W$@6#ua zoy~u&5aS*TbF2GTeV~00lOm69yY%h3qqL`+Qg7WsU!r<3?lWX!CRHfH-*?)c@Kr)w zTvkPI-hp)RLq-F-94!!$$erbzzdL?wWc#<=vE3YSQ`7I=AX!^LjD^Bp_pFKuXK^2sOyCM@(Y5Ii%#KHF-Sz7VLMcsZ@F&MPOtP7 zL)wktFVDgu<^eCbxr-C1GEYL3R+!xbY$bw;-XTqs9anW8RLf^ z^%L^mjK9O-#zX2NQ(Xe<$XzHc1gy-=%D9>>e}vfY9F#uAY5x{z$Oh7yEKEKYJUlcM zEpj_>;Y|t=;g6pyZ3&sU6-t!m%xDJ(2Y(BxV>0us*D}ud%SNbiEXlgC$S{5_<416s zoA(prng{KWMZ?mpYdjMRb+7pnfmF(!8R+W5?@YX$*mLtn0{?6rG<9?lX`Pi6$uqOW z+B+unNQ8NY;p|6|(kCZ`QE_p)B?olY#5q_TLKM`LH$9uy`X$)!X{0CalVQ&NoViW2 ze(OD{9yt(1Ny>pE=R2Z;YXj7dx+z9eSk}{ zM$pFTah}_@n3jB&fdo1{TO&eT{md)#MHabW-4Ti>HL^@otrE;SPAV1%t|1!@gIl0*REmsuNIy<4LtByzt&lVJfwB)X&kF-<+TTI zM6xbu!Fm@Tw>nH1(ZDny@<5Rp0lMXjO8$e~|RTxlI$y?Of*Wbn?%9^WgVk zf;4I$nPk0aKHyv%qrIgDtj+2bAarV~z8hg1{M?Hr=0Q3&^;_on()R3R7;HEJE6HAN zo7wzZNN%on7m}@oL8Tf^M=lv2_$u`y@ka+Z9L|5JW>#gf36>kkn%LG$AE^j)36`x+ zft#;W@P&rDVsQ4`KYH@A2dujoEu?hoH8PT4gYOAW(Cu@ey>LE+7L-2MlEXSZD$V^6 zH^P&8YC}CWw+B}4^_w7&*OLvB1(R@H)RPV01}s)j@C!Ry>yxM2S8HSRd|*(UvG8(8fz1R- z&B~ahcOvin&FwmPE37<<*uEU zup7nD(!HpIsHt(G(ElZk_Tqo5E_-%YR&^^fxvcsK{=*!Sg|a9*UzkuMGtVOs?JF3p zc$Iopy&vCe6l=Q`C@)tOwOT>N9}cWwJx51sk1@z#+%rW33V4pUOd^(+Qx$SK8GJC` zl(f;I(l0<1Yb?N#_c`1*GM}S|ZvGsqD6Dwl{x|?XT7_M%BocM1R(Jo6Adt&VLO=1m z;$<2PlaVor;LKBwJGuI$t<9DMo3RaArILoTT8fE@L8`Y0lK=hFV|`tTjoBs<3bj4G zC6HG+k~_(LrM2FxBm-E!sFYlP2y{Qx%|BcCUTSK9nUY4xwAjm1ypAvYLcW=r zkcfuGf$7WlH#i8t*-9IZhHkByW-k zDSD=PB93W2!%-TYCHe1{@!pce%b>DYfp>v<6alTM`KoZ?)1Gqw)iwtX*S#nd$nAM# zr*V^JKU-GnGY4s(ySe97*=}E>dCUHI^deo5+(jK^vt0= zAey%Et$!)lvHZz(I;rQIDr~Qmf8>+?0$tx)OiU>1aZeoY$OV_OcDfv`uRIGrd)Ux^ zuh>Nr>A8c6mgx1jYJrKf(u;u`+o5Si5(o%g_pc3^{F>n{fGmf~Kr{F}a5(gG(_iIZ z_T5gvPQXsUPQXsUPQXsUPQXsUPQXsUPQXsUPQXs!|4YCOX-*k-#5@_r0{ + + + + Breadcrumbs - Default + + + + + + + + + Page 1 + + + Page 2 + + + Page 3 + + + + diff --git a/packages/core/src/components/breadcrumbs/test/default/breadcrumbs.e2e.ts b/packages/core/src/components/breadcrumbs/test/default/lightmode/breadcrumbs.e2e.ts similarity index 89% rename from packages/core/src/components/breadcrumbs/test/default/breadcrumbs.e2e.ts rename to packages/core/src/components/breadcrumbs/test/default/lightmode/breadcrumbs.e2e.ts index 8c77086d2..667c6101d 100644 --- a/packages/core/src/components/breadcrumbs/test/default/breadcrumbs.e2e.ts +++ b/packages/core/src/components/breadcrumbs/test/default/lightmode/breadcrumbs.e2e.ts @@ -1,18 +1,19 @@ import { test } from 'stencil-playwright'; import { expect } from '@playwright/test'; -const componentTestPath = 'src/components/breadcrumbs/test/default/index.html'; +const componentTestPath = 'src/components/breadcrumbs/test/default/lightmode/index.html'; -test.describe.parallel('tds-breadcrumbs-default', () => { - test('renders default breadcrumbs correctly', async ({ page }) => { +test.describe.parallel('tds-breadcrumbs-default-lightmode', () => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + test('renders default breadcrumbs correctly', async ({ page }) => { /* Check diff on screenshot */ await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); }); test('items Page 1, Page 2, Page 3 exist on the page', async ({ page }) => { - await page.goto(componentTestPath); const navigation = page.getByRole('navigation'); await expect(navigation).toHaveCount(1); const listItems = page.getByRole('listitem'); @@ -32,8 +33,6 @@ test.describe.parallel('tds-breadcrumbs-default', () => { }); test('page 3 item should be able to become focused', async ({ page }) => { - await page.goto(componentTestPath); - const pageThree = page.getByText(/Page 3/); await pageThree.focus(); diff --git a/packages/core/src/components/breadcrumbs/test/default/breadcrumbs.e2e.ts-snapshots/tds-breadcrumbs-default-page-3-item-should-be-able-to-become-focused-1-linux.png b/packages/core/src/components/breadcrumbs/test/default/lightmode/breadcrumbs.e2e.ts-snapshots/tds-breadcrumbs-default-lightmode-page-3-item-should-be-able-to-become-focused-1-linux.png similarity index 100% rename from packages/core/src/components/breadcrumbs/test/default/breadcrumbs.e2e.ts-snapshots/tds-breadcrumbs-default-page-3-item-should-be-able-to-become-focused-1-linux.png rename to packages/core/src/components/breadcrumbs/test/default/lightmode/breadcrumbs.e2e.ts-snapshots/tds-breadcrumbs-default-lightmode-page-3-item-should-be-able-to-become-focused-1-linux.png diff --git a/packages/core/src/components/breadcrumbs/test/default/breadcrumbs.e2e.ts-snapshots/tds-breadcrumbs-default-renders-default-breadcrumbs-correctly-1-linux.png b/packages/core/src/components/breadcrumbs/test/default/lightmode/breadcrumbs.e2e.ts-snapshots/tds-breadcrumbs-default-lightmode-renders-default-breadcrumbs-correctly-1-linux.png similarity index 100% rename from packages/core/src/components/breadcrumbs/test/default/breadcrumbs.e2e.ts-snapshots/tds-breadcrumbs-default-renders-default-breadcrumbs-correctly-1-linux.png rename to packages/core/src/components/breadcrumbs/test/default/lightmode/breadcrumbs.e2e.ts-snapshots/tds-breadcrumbs-default-lightmode-renders-default-breadcrumbs-correctly-1-linux.png diff --git a/packages/core/src/components/breadcrumbs/test/default/index.html b/packages/core/src/components/breadcrumbs/test/default/lightmode/index.html similarity index 100% rename from packages/core/src/components/breadcrumbs/test/default/index.html rename to packages/core/src/components/breadcrumbs/test/default/lightmode/index.html From 7783cb9b872dc3944cdf5ac5fd7d9d4bd6c7f827 Mon Sep 17 00:00:00 2001 From: Max Skanvik <179694889+max-umain@users.noreply.github.com> Date: Mon, 16 Dec 2024 13:58:14 +0100 Subject: [PATCH 2/6] test(banner): add darkmode screenshot test and refactor folder structure (#880) * test: add screenshot tests for banner in light and dark modes * refactor: reduce complexity for banner screenshot tests * test: add reusable screenshot tests for all components * test: create lightmode and darkmode tests for variants of banner * test(banner): remove inline styles from lightmode banner test html files * test(banner): refactor tests to use beforeEach for page navigation * test(banner): fix import of css variables --- .../banner/test/basic/banner.e2e.ts | 6 ++--- .../test/default/darkmode/banner.e2e.ts | 15 ++++++++++++ ...banner-correctly-with-darkmode-1-linux.png | Bin 0 -> 10159 bytes .../banner/test/default/darkmode/index.html | 23 ++++++++++++++++++ .../default/{ => lightmode}/banner.e2e.ts | 18 ++++---------- ...ders-default-banner-correctly-1-linux.png} | Bin .../test/default/{ => lightmode}/index.html | 0 .../banner/test/error/darkmode/banner.e2e.ts | 15 ++++++++++++ ...banner-correctly-with-darkmode-1-linux.png | Bin 0 -> 10100 bytes .../banner/test/error/darkmode/index.html | 23 ++++++++++++++++++ .../test/error/{ => lightmode}/banner.e2e.ts | 10 ++++---- ...enders-error-banner-correctly-1-linux.png} | Bin .../test/error/{ => lightmode}/index.html | 0 .../test/information/darkmode/banner.e2e.ts | 15 ++++++++++++ ...banner-correctly-with-darkmode-1-linux.png | Bin 0 -> 10168 bytes .../test/information/darkmode/index.html | 23 ++++++++++++++++++ .../information/{ => lightmode}/banner.e2e.ts | 10 ++++---- ...-information-banner-correctly-1-linux.png} | Bin .../information/{ => lightmode}/index.html | 0 19 files changed, 132 insertions(+), 26 deletions(-) create mode 100644 packages/core/src/components/banner/test/default/darkmode/banner.e2e.ts create mode 100644 packages/core/src/components/banner/test/default/darkmode/banner.e2e.ts-snapshots/tds-banner-default-darkmode-renders-default-banner-correctly-with-darkmode-1-linux.png create mode 100644 packages/core/src/components/banner/test/default/darkmode/index.html rename packages/core/src/components/banner/test/default/{ => lightmode}/banner.e2e.ts (78%) rename packages/core/src/components/banner/test/default/{banner.e2e.ts-snapshots/tds-banner-default-renders-default-banner-correctly-1-linux.png => lightmode/banner.e2e.ts-snapshots/tds-banner-default-lightmode-renders-default-banner-correctly-1-linux.png} (100%) rename packages/core/src/components/banner/test/default/{ => lightmode}/index.html (100%) create mode 100644 packages/core/src/components/banner/test/error/darkmode/banner.e2e.ts create mode 100644 packages/core/src/components/banner/test/error/darkmode/banner.e2e.ts-snapshots/tds-banner-error-darkmode-renders-error-banner-correctly-with-darkmode-1-linux.png create mode 100644 packages/core/src/components/banner/test/error/darkmode/index.html rename packages/core/src/components/banner/test/error/{ => lightmode}/banner.e2e.ts (69%) rename packages/core/src/components/banner/test/error/{banner.e2e.ts-snapshots/tds-banner-error-renders-error-banner-correctly-1-linux.png => lightmode/banner.e2e.ts-snapshots/tds-banner-error-lightmode-renders-error-banner-correctly-1-linux.png} (100%) rename packages/core/src/components/banner/test/error/{ => lightmode}/index.html (100%) create mode 100644 packages/core/src/components/banner/test/information/darkmode/banner.e2e.ts create mode 100644 packages/core/src/components/banner/test/information/darkmode/banner.e2e.ts-snapshots/tds-banner-information-darkmode-renders-information-banner-correctly-with-darkmode-1-linux.png create mode 100644 packages/core/src/components/banner/test/information/darkmode/index.html rename packages/core/src/components/banner/test/information/{ => lightmode}/banner.e2e.ts (78%) rename packages/core/src/components/banner/test/information/{banner.e2e.ts-snapshots/tds-banner-information-renders-information-banner-correctly-1-linux.png => lightmode/banner.e2e.ts-snapshots/tds-banner-information-lightmode-renders-information-banner-correctly-1-linux.png} (100%) rename packages/core/src/components/banner/test/information/{ => lightmode}/index.html (100%) diff --git a/packages/core/src/components/banner/test/basic/banner.e2e.ts b/packages/core/src/components/banner/test/basic/banner.e2e.ts index a4774f835..393bf46db 100644 --- a/packages/core/src/components/banner/test/basic/banner.e2e.ts +++ b/packages/core/src/components/banner/test/basic/banner.e2e.ts @@ -4,16 +4,16 @@ import { expect } from '@playwright/test'; const componentTestPath = 'src/components/banner/test/basic/index.html'; test.describe.parallel('tds-banner-basic', () => { - test('renders basic banner correctly', async ({ page }) => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + test('renders basic banner correctly', async ({ page }) => { /* Check diff on screenshot */ await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); }); test('the close button should be visible', async ({ page }) => { - await page.goto(componentTestPath); - const closeButton = page.getByRole('button'); await expect(closeButton).toBeVisible(); }); diff --git a/packages/core/src/components/banner/test/default/darkmode/banner.e2e.ts b/packages/core/src/components/banner/test/default/darkmode/banner.e2e.ts new file mode 100644 index 000000000..52c371e70 --- /dev/null +++ b/packages/core/src/components/banner/test/default/darkmode/banner.e2e.ts @@ -0,0 +1,15 @@ +import { test } from 'stencil-playwright'; +import { expect } from '@playwright/test'; + +const componentTestPath = 'src/components/banner/test/default/darkmode/index.html'; + +test.describe.parallel('tds-banner-default-darkmode', () => { + test.beforeEach(async ({ page }) => { + await page.goto(componentTestPath); + }); + + test('renders default banner correctly with darkmode', async ({ page }) => { + /* Check diff on screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); +}); diff --git a/packages/core/src/components/banner/test/default/darkmode/banner.e2e.ts-snapshots/tds-banner-default-darkmode-renders-default-banner-correctly-with-darkmode-1-linux.png b/packages/core/src/components/banner/test/default/darkmode/banner.e2e.ts-snapshots/tds-banner-default-darkmode-renders-default-banner-correctly-with-darkmode-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..7d8921f40b2c4fddee70123bdc19537f4f882fbb GIT binary patch literal 10159 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 + + + + Banner - Default + + + + + + + + Link example + + + diff --git a/packages/core/src/components/banner/test/default/banner.e2e.ts b/packages/core/src/components/banner/test/default/lightmode/banner.e2e.ts similarity index 78% rename from packages/core/src/components/banner/test/default/banner.e2e.ts rename to packages/core/src/components/banner/test/default/lightmode/banner.e2e.ts index 0a1b2ab41..ec8f8b6e7 100644 --- a/packages/core/src/components/banner/test/default/banner.e2e.ts +++ b/packages/core/src/components/banner/test/default/lightmode/banner.e2e.ts @@ -1,48 +1,40 @@ import { test } from 'stencil-playwright'; import { expect } from '@playwright/test'; -const componentTestPath = 'src/components/banner/test/default/index.html'; +const componentTestPath = 'src/components/banner/test/default/lightmode/index.html'; -test.describe.parallel('tds-banner-default', () => { - test('renders default banner correctly', async ({ page }) => { +test.describe.parallel('tds-banner-default-lightmode', () => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + test('renders default banner correctly', async ({ page }) => { /* Check diff on screenshot */ await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); }); test('header exists', async ({ page }) => { - await page.goto(componentTestPath); - const bannerHeader = page.getByText('This is a header text area', { exact: true }); await expect(bannerHeader).toBeVisible(); }); test('text exists', async ({ page }) => { - await page.goto(componentTestPath); - const bannerSubheader = page.getByText('This is the subheader text area', { exact: true }); await expect(bannerSubheader).toBeVisible(); }); test('icons exists', async ({ page }) => { - await page.goto(componentTestPath); - const images = page.getByRole('img'); await expect(images).toHaveCount(2); }); test('link example exists', async ({ page }) => { - await page.goto(componentTestPath); - const linkExample = page.getByRole('link'); await expect(linkExample).toHaveCount(1); await expect(linkExample).toBeVisible(); }); test('close button exists', async ({ page }) => { - await page.goto(componentTestPath); - const closeButton = page.getByRole('button'); await expect(closeButton).toHaveCount(1); await expect(closeButton).toBeVisible(); diff --git a/packages/core/src/components/banner/test/default/banner.e2e.ts-snapshots/tds-banner-default-renders-default-banner-correctly-1-linux.png b/packages/core/src/components/banner/test/default/lightmode/banner.e2e.ts-snapshots/tds-banner-default-lightmode-renders-default-banner-correctly-1-linux.png similarity index 100% rename from packages/core/src/components/banner/test/default/banner.e2e.ts-snapshots/tds-banner-default-renders-default-banner-correctly-1-linux.png rename to packages/core/src/components/banner/test/default/lightmode/banner.e2e.ts-snapshots/tds-banner-default-lightmode-renders-default-banner-correctly-1-linux.png diff --git a/packages/core/src/components/banner/test/default/index.html b/packages/core/src/components/banner/test/default/lightmode/index.html similarity index 100% rename from packages/core/src/components/banner/test/default/index.html rename to packages/core/src/components/banner/test/default/lightmode/index.html diff --git a/packages/core/src/components/banner/test/error/darkmode/banner.e2e.ts b/packages/core/src/components/banner/test/error/darkmode/banner.e2e.ts new file mode 100644 index 000000000..46af4b93e --- /dev/null +++ b/packages/core/src/components/banner/test/error/darkmode/banner.e2e.ts @@ -0,0 +1,15 @@ +import { test } from 'stencil-playwright'; +import { expect } from '@playwright/test'; + +const componentTestPath = 'src/components/banner/test/error/darkmode/index.html'; + +test.describe.parallel('tds-banner-error-darkmode', () => { + test.beforeEach(async ({ page }) => { + await page.goto(componentTestPath); + }); + + test('renders error banner correctly with darkmode', async ({ page }) => { + /* Check diff on screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); +}); diff --git a/packages/core/src/components/banner/test/error/darkmode/banner.e2e.ts-snapshots/tds-banner-error-darkmode-renders-error-banner-correctly-with-darkmode-1-linux.png b/packages/core/src/components/banner/test/error/darkmode/banner.e2e.ts-snapshots/tds-banner-error-darkmode-renders-error-banner-correctly-with-darkmode-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..5225c457bcae9b9a96a49e901e326f8326a8b6b5 GIT binary patch literal 10100 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 + + + + Banner - Error + + + + + + + + Link example + + + diff --git a/packages/core/src/components/banner/test/error/banner.e2e.ts b/packages/core/src/components/banner/test/error/lightmode/banner.e2e.ts similarity index 69% rename from packages/core/src/components/banner/test/error/banner.e2e.ts rename to packages/core/src/components/banner/test/error/lightmode/banner.e2e.ts index efa5a5b99..1f1c1f6a4 100644 --- a/packages/core/src/components/banner/test/error/banner.e2e.ts +++ b/packages/core/src/components/banner/test/error/lightmode/banner.e2e.ts @@ -1,19 +1,19 @@ import { test } from 'stencil-playwright'; import { expect } from '@playwright/test'; -const componentTestPath = 'src/components/banner/test/error/index.html'; +const componentTestPath = 'src/components/banner/test/error/lightmode/index.html'; -test.describe.parallel('tds-banner-error', () => { - test('renders error banner correctly', async ({ page }) => { +test.describe.parallel('tds-banner-error-lightmode', () => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + test('renders error banner correctly', async ({ page }) => { /* Check diff on screenshot */ await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); }); test('icons exists', async ({ page }) => { - await page.goto(componentTestPath); - const images = page.getByRole('img'); await expect(images).toHaveCount(2); }); diff --git a/packages/core/src/components/banner/test/error/banner.e2e.ts-snapshots/tds-banner-error-renders-error-banner-correctly-1-linux.png b/packages/core/src/components/banner/test/error/lightmode/banner.e2e.ts-snapshots/tds-banner-error-lightmode-renders-error-banner-correctly-1-linux.png similarity index 100% rename from packages/core/src/components/banner/test/error/banner.e2e.ts-snapshots/tds-banner-error-renders-error-banner-correctly-1-linux.png rename to packages/core/src/components/banner/test/error/lightmode/banner.e2e.ts-snapshots/tds-banner-error-lightmode-renders-error-banner-correctly-1-linux.png diff --git a/packages/core/src/components/banner/test/error/index.html b/packages/core/src/components/banner/test/error/lightmode/index.html similarity index 100% rename from packages/core/src/components/banner/test/error/index.html rename to packages/core/src/components/banner/test/error/lightmode/index.html diff --git a/packages/core/src/components/banner/test/information/darkmode/banner.e2e.ts b/packages/core/src/components/banner/test/information/darkmode/banner.e2e.ts new file mode 100644 index 000000000..f6eac1e43 --- /dev/null +++ b/packages/core/src/components/banner/test/information/darkmode/banner.e2e.ts @@ -0,0 +1,15 @@ +import { test } from 'stencil-playwright'; +import { expect } from '@playwright/test'; + +const componentTestPath = 'src/components/banner/test/information/darkmode/index.html'; + +test.describe.parallel('tds-banner-information-darkmode', () => { + test.beforeEach(async ({ page }) => { + await page.goto(componentTestPath); + }); + + test('renders information banner correctly with darkmode', async ({ page }) => { + /* Check diff on screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); +}); diff --git a/packages/core/src/components/banner/test/information/darkmode/banner.e2e.ts-snapshots/tds-banner-information-darkmode-renders-information-banner-correctly-with-darkmode-1-linux.png b/packages/core/src/components/banner/test/information/darkmode/banner.e2e.ts-snapshots/tds-banner-information-darkmode-renders-information-banner-correctly-with-darkmode-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..be0f2d8485cb7c79a09e9a71295550029b95c795 GIT binary patch literal 10168 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 B#UcOz literal 0 HcmV?d00001 diff --git a/packages/core/src/components/banner/test/information/darkmode/index.html b/packages/core/src/components/banner/test/information/darkmode/index.html new file mode 100644 index 000000000..11bb319be --- /dev/null +++ b/packages/core/src/components/banner/test/information/darkmode/index.html @@ -0,0 +1,23 @@ + + + + + Banner - Information + + + + + + + + Link example + + + diff --git a/packages/core/src/components/banner/test/information/banner.e2e.ts b/packages/core/src/components/banner/test/information/lightmode/banner.e2e.ts similarity index 78% rename from packages/core/src/components/banner/test/information/banner.e2e.ts rename to packages/core/src/components/banner/test/information/lightmode/banner.e2e.ts index e3914f982..4c2f1dbb9 100644 --- a/packages/core/src/components/banner/test/information/banner.e2e.ts +++ b/packages/core/src/components/banner/test/information/lightmode/banner.e2e.ts @@ -1,19 +1,19 @@ import { test } from 'stencil-playwright'; import { expect } from '@playwright/test'; -const componentTestPath = 'src/components/banner/test/information/index.html'; +const componentTestPath = 'src/components/banner/test/information/lightmode/index.html'; -test.describe.parallel('tds-banner-information', () => { - test('renders information banner correctly', async ({ page }) => { +test.describe.parallel('tds-banner-information-lightmode', () => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + test('renders information banner correctly', async ({ page }) => { /* Check diff on screenshot */ await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); }); test('icons exists', async ({ page }) => { - await page.goto(componentTestPath); - const images = page.getByRole('img'); await expect(images).toHaveCount(2); }); diff --git a/packages/core/src/components/banner/test/information/banner.e2e.ts-snapshots/tds-banner-information-renders-information-banner-correctly-1-linux.png b/packages/core/src/components/banner/test/information/lightmode/banner.e2e.ts-snapshots/tds-banner-information-lightmode-renders-information-banner-correctly-1-linux.png similarity index 100% rename from packages/core/src/components/banner/test/information/banner.e2e.ts-snapshots/tds-banner-information-renders-information-banner-correctly-1-linux.png rename to packages/core/src/components/banner/test/information/lightmode/banner.e2e.ts-snapshots/tds-banner-information-lightmode-renders-information-banner-correctly-1-linux.png diff --git a/packages/core/src/components/banner/test/information/index.html b/packages/core/src/components/banner/test/information/lightmode/index.html similarity index 100% rename from packages/core/src/components/banner/test/information/index.html rename to packages/core/src/components/banner/test/information/lightmode/index.html From 89cff4162508ed3d02ebfd423e430ed50d84ad5b Mon Sep 17 00:00:00 2001 From: Max Skanvik <179694889+max-umain@users.noreply.github.com> Date: Mon, 16 Dec 2024 14:51:15 +0100 Subject: [PATCH 3/6] test(checkbox): add darkmode screenshot test and refactor folder structure (#909) * test(checkbox): add darkmode screenshot test * test(checkbox): refactor tests to use beforeEach for page navigation * test(checkbox): update href in html files --- .../test/default/darkmode/checkbox.e2e.ts | 18 +++++++++++++++++ ...nders-basic-checkbox-correctly-1-linux.png | Bin 0 -> 5163 bytes .../checkbox/test/default/darkmode/index.html | 19 ++++++++++++++++++ .../default/{ => lightmode}/checkbox.e2e.ts | 10 +++++---- ...ders-basic-checkbox-correctly-1-linux.png} | Bin .../test/default/{ => lightmode}/index.html | 4 ++-- .../checkbox/test/disabled/checkbox.e2e.ts | 4 +++- .../test/indeterminate/checkbox.e2e.ts | 4 +++- 8 files changed, 51 insertions(+), 8 deletions(-) create mode 100644 packages/core/src/components/checkbox/test/default/darkmode/checkbox.e2e.ts create mode 100644 packages/core/src/components/checkbox/test/default/darkmode/checkbox.e2e.ts-snapshots/tds-checkbox-darkmode-renders-basic-checkbox-correctly-1-linux.png create mode 100644 packages/core/src/components/checkbox/test/default/darkmode/index.html rename packages/core/src/components/checkbox/test/default/{ => lightmode}/checkbox.e2e.ts (88%) rename packages/core/src/components/checkbox/test/default/{checkbox.e2e.ts-snapshots/tds-checkbox-renders-basic-checkbox-correctly-1-linux.png => lightmode/checkbox.e2e.ts-snapshots/tds-checkbox-lightmode-renders-basic-checkbox-correctly-1-linux.png} (100%) rename packages/core/src/components/checkbox/test/default/{ => lightmode}/index.html (71%) diff --git a/packages/core/src/components/checkbox/test/default/darkmode/checkbox.e2e.ts b/packages/core/src/components/checkbox/test/default/darkmode/checkbox.e2e.ts new file mode 100644 index 000000000..d780ee288 --- /dev/null +++ b/packages/core/src/components/checkbox/test/default/darkmode/checkbox.e2e.ts @@ -0,0 +1,18 @@ +import { test } from 'stencil-playwright'; +import { expect } from '@playwright/test'; + +const componentTestPath = 'src/components/checkbox/test/default/darkmode/index.html'; + +test.describe.parallel('tds-checkbox-darkmode', () => { + test.beforeEach(async ({ page }) => { + await page.goto(componentTestPath); + }); + + test('renders basic checkbox correctly', async ({ page }) => { + const labelElement = page.locator('tds-checkbox label'); // Target label underneath checkbox + + expect(labelElement).toHaveText('Label'); // Check label text + /* Check diff on screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); +}); diff --git a/packages/core/src/components/checkbox/test/default/darkmode/checkbox.e2e.ts-snapshots/tds-checkbox-darkmode-renders-basic-checkbox-correctly-1-linux.png b/packages/core/src/components/checkbox/test/default/darkmode/checkbox.e2e.ts-snapshots/tds-checkbox-darkmode-renders-basic-checkbox-correctly-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..7766febba604e20046bcb14cd3850b132f1dda68 GIT binary patch literal 5163 zcmeAS@N?(olHy`uVBq!ia0y~yU3=xK?dwvwz4vX|Q!bwNWty!ido}WU0&h>?6R0~sdFPCu z_sY}$ZQp;U=DxX6{r$geKxce#GyfIE4`eW`XJh06x~_=ApG^a$XzKX z{kHr0_{^(0wes?1|9x7`K-V95XHs>4*H-cPqMLU4Q5!BFcNLG{_3qx*|F4_x?W_4& zeBQ>?%xs(XeXBiZL3YIV>O~fP`1{>{hjz4l#fODUz03bO8vh|~kJ^HrTuHwu@ciF#hHlP2OaMgFS_i?%6 zFYW!-AHNvem;TC}|Krp2b9W01o|gJ!?eA{~6AEtU+E;yOj6bhe`?x7T_m;`m?Y+|L_rCjeetz+{RkQPF zn&;nBKX3E+ul$b-zj&qDnh#zLUmvsc(<^uRzi&6RvoJ6`;LU%*xToOZq4#$y{wAKD z_IB_0d&$X*tKaQ>{^skP<;(x?dwg=fTz$>SNzLrd2Y>u{RQdUt?XMH3#h*$^OW)02 zzxUtQ=NZ6|t9aTbeW3W+nV(N@?XE98zZVo0*VaZ)m#unn{`#Gbm&;}A54ms8xoPyf zXutV;^DBzLSksVrXL;c9vXi>;fj)6>${{XEyTU8dwh_5IK9*4Mw?bG7`Ar34Sq;B9GV z?`ns|l%7!Z=C}W|L3-W(Z}zh!fo8|ey!%J|h5f&W-#4F^uYOamUiW6n`FW+^Lc`6-KXGGMy5&O7}3zb|HmA9sru9!T~Z-h{XU%aw;1e8?XNg%wh}%C3TFTOyaMGNWmRb2Jf*CW6sKFj{*sj3$E7L@=5NM%$6VCiZBXV6;szng~X# ggTYu5wA3^C3UkTv%xq8v_VgJ%UHx3vIVCg!03mk58~^|S literal 0 HcmV?d00001 diff --git a/packages/core/src/components/checkbox/test/default/darkmode/index.html b/packages/core/src/components/checkbox/test/default/darkmode/index.html new file mode 100644 index 000000000..e0e1d5fc5 --- /dev/null +++ b/packages/core/src/components/checkbox/test/default/darkmode/index.html @@ -0,0 +1,19 @@ + + + + + Checkbox - Default + + + + + + + + Label + + + diff --git a/packages/core/src/components/checkbox/test/default/checkbox.e2e.ts b/packages/core/src/components/checkbox/test/default/lightmode/checkbox.e2e.ts similarity index 88% rename from packages/core/src/components/checkbox/test/default/checkbox.e2e.ts rename to packages/core/src/components/checkbox/test/default/lightmode/checkbox.e2e.ts index b0426c6ab..1d412f214 100644 --- a/packages/core/src/components/checkbox/test/default/checkbox.e2e.ts +++ b/packages/core/src/components/checkbox/test/default/lightmode/checkbox.e2e.ts @@ -1,11 +1,14 @@ import { test } from 'stencil-playwright'; import { expect } from '@playwright/test'; -const componentTestPath = 'src/components/checkbox/test/default/index.html'; +const componentTestPath = 'src/components/checkbox/test/default/lightmode/index.html'; -test.describe.parallel('tds-checkbox', () => { - test('renders basic checkbox correctly', async ({ page }) => { +test.describe.parallel('tds-checkbox-lightmode', () => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + + test('renders basic checkbox correctly', async ({ page }) => { const labelElement = page.locator('tds-checkbox label'); // Target label underneath checkbox expect(labelElement).toHaveText('Label'); // Check label text @@ -14,7 +17,6 @@ test.describe.parallel('tds-checkbox', () => { }); test('Hover and click on checkbox -> should become checked', async ({ page }) => { - await page.goto(componentTestPath); const checkbox = page.locator('tds-checkbox'); // Hover over the checkbox await checkbox.hover(); diff --git a/packages/core/src/components/checkbox/test/default/checkbox.e2e.ts-snapshots/tds-checkbox-renders-basic-checkbox-correctly-1-linux.png b/packages/core/src/components/checkbox/test/default/lightmode/checkbox.e2e.ts-snapshots/tds-checkbox-lightmode-renders-basic-checkbox-correctly-1-linux.png similarity index 100% rename from packages/core/src/components/checkbox/test/default/checkbox.e2e.ts-snapshots/tds-checkbox-renders-basic-checkbox-correctly-1-linux.png rename to packages/core/src/components/checkbox/test/default/lightmode/checkbox.e2e.ts-snapshots/tds-checkbox-lightmode-renders-basic-checkbox-correctly-1-linux.png diff --git a/packages/core/src/components/checkbox/test/default/index.html b/packages/core/src/components/checkbox/test/default/lightmode/index.html similarity index 71% rename from packages/core/src/components/checkbox/test/default/index.html rename to packages/core/src/components/checkbox/test/default/lightmode/index.html index aeebf8d87..4672162a2 100644 --- a/packages/core/src/components/checkbox/test/default/index.html +++ b/packages/core/src/components/checkbox/test/default/lightmode/index.html @@ -4,9 +4,9 @@ Checkbox - Default - + diff --git a/packages/core/src/components/checkbox/test/disabled/checkbox.e2e.ts b/packages/core/src/components/checkbox/test/disabled/checkbox.e2e.ts index 4fdd3488f..07123a5b1 100644 --- a/packages/core/src/components/checkbox/test/disabled/checkbox.e2e.ts +++ b/packages/core/src/components/checkbox/test/disabled/checkbox.e2e.ts @@ -4,9 +4,11 @@ import { expect } from '@playwright/test'; const componentTestPath = 'src/components/checkbox/test/disabled/index.html'; test.describe('tds-checkbox', () => { - test('Hover over checkbox and label -> cursor should become inactive', async ({ page }) => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + test('Hover over checkbox and label -> cursor should become inactive', async ({ page }) => { // Find the checkbox and label elements const checkbox = page.locator('tds-checkbox'); const input = page.locator('tds-checkbox input'); diff --git a/packages/core/src/components/checkbox/test/indeterminate/checkbox.e2e.ts b/packages/core/src/components/checkbox/test/indeterminate/checkbox.e2e.ts index bbefff321..07a525b9a 100644 --- a/packages/core/src/components/checkbox/test/indeterminate/checkbox.e2e.ts +++ b/packages/core/src/components/checkbox/test/indeterminate/checkbox.e2e.ts @@ -4,9 +4,11 @@ import { expect } from '@playwright/test'; const componentTestPath = 'src/components/checkbox/test/indeterminate/index.html'; test.describe('tds-checkbox', () => { - test('Checkbox indeterminate state', async ({ page }) => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + test('Checkbox indeterminate state', async ({ page }) => { // Find the checkbox and label elements const checkbox = page.locator('tds-checkbox'); const labelElement = page.locator('tds-checkbox label'); // Target label underneath checkbox From 5968ca7b0ff8f460936d43db53f6e3024e7f51c1 Mon Sep 17 00:00:00 2001 From: Max Skanvik <179694889+max-umain@users.noreply.github.com> Date: Mon, 16 Dec 2024 16:06:31 +0100 Subject: [PATCH 4/6] test(dropdown): add darkmode and lightmode screenshot tests (#913) * test(dropdown): move existing default test to unspecified * test(dropdown): add lightmode and darkmode tests for mode variants * test(dropdown): refactor tests to use beforeEach for page navigation --- .../dropdown/test/basic/dropdown.e2e.ts | 11 +-- .../test/default/disabled/dropdown.e2e.ts | 6 +- .../default/primary/darkmode/dropdown.e2e.ts | 74 ++++++++++++++++++ ...pdown-list-then-click-Option-1-1-linux.png | Bin 0 -> 7189 bytes ...button-opens-the-dropdown-list-1-linux.png | Bin 0 -> 11231 bytes ...us-and-opens-the-dropdown-list-1-linux.png | Bin 0 -> 11221 bytes ...ers-default-dropdown-correctly-1-linux.png | Bin 0 -> 7441 bytes .../test/default/primary/darkmode/index.html | 32 ++++++++ .../default/primary/lightmode/dropdown.e2e.ts | 74 ++++++++++++++++++ ...pdown-list-then-click-Option-1-1-linux.png | Bin 0 -> 7228 bytes ...button-opens-the-dropdown-list-1-linux.png | Bin 0 -> 11240 bytes ...us-and-opens-the-dropdown-list-1-linux.png | Bin 0 -> 11222 bytes ...ers-default-dropdown-correctly-1-linux.png | Bin 0 -> 7356 bytes .../test/default/primary/lightmode/index.html | 32 ++++++++ .../secondary/darkmode/dropdown.e2e.ts | 74 ++++++++++++++++++ ...pdown-list-then-click-Option-1-1-linux.png | Bin 0 -> 7155 bytes ...button-opens-the-dropdown-list-1-linux.png | Bin 0 -> 11225 bytes ...us-and-opens-the-dropdown-list-1-linux.png | Bin 0 -> 11214 bytes ...ers-default-dropdown-correctly-1-linux.png | Bin 0 -> 7401 bytes .../default/secondary/darkmode/index.html | 32 ++++++++ .../secondary/lightmode/dropdown.e2e.ts | 74 ++++++++++++++++++ ...pdown-list-then-click-Option-1-1-linux.png | Bin 0 -> 7193 bytes ...button-opens-the-dropdown-list-1-linux.png | Bin 0 -> 11227 bytes ...us-and-opens-the-dropdown-list-1-linux.png | Bin 0 -> 11212 bytes ...ers-default-dropdown-correctly-1-linux.png | Bin 0 -> 7323 bytes .../default/secondary/lightmode/index.html | 32 ++++++++ .../default/{ => unspecified}/dropdown.e2e.ts | 15 ++-- ...button-opens-the-dropdown-list-1-linux.png | Bin ...pdown-list-then-click-Option-1-1-linux.png | Bin ...us-and-opens-the-dropdown-list-1-linux.png | Bin ...ers-default-dropdown-correctly-1-linux.png | Bin .../test/default/{ => unspecified}/index.html | 4 +- .../dropdown/test/error/dropdown.e2e.ts | 7 +- .../test/filter/disabled/dropdown.e2e.ts | 6 +- .../dropdown/test/filter/dropdown.e2e.ts | 11 +-- .../hide-no-result-message/dropdown.e2e.ts | 7 +- .../normalize-text-false/dropdown.e2e.ts | 7 +- .../test/multiselect-filter/dropdown.e2e.ts | 4 +- .../test/multiselect/disabled/dropdown.e2e.ts | 6 +- .../dropdown/test/multiselect/dropdown.e2e.ts | 9 +-- 40 files changed, 470 insertions(+), 47 deletions(-) create mode 100644 packages/core/src/components/dropdown/test/default/primary/darkmode/dropdown.e2e.ts create mode 100644 packages/core/src/components/dropdown/test/default/primary/darkmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-primary-darkmode-clicking-e1a7e--opens-the-dropdown-list-then-click-Option-1-1-linux.png create mode 100644 packages/core/src/components/dropdown/test/default/primary/darkmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-primary-darkmode-clicking-the-dropdown-button-opens-the-dropdown-list-1-linux.png create mode 100644 packages/core/src/components/dropdown/test/default/primary/darkmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-primary-darkmode-focusElement-method-focus-and-opens-the-dropdown-list-1-linux.png create mode 100644 packages/core/src/components/dropdown/test/default/primary/darkmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-primary-darkmode-renders-default-dropdown-correctly-1-linux.png create mode 100644 packages/core/src/components/dropdown/test/default/primary/darkmode/index.html create mode 100644 packages/core/src/components/dropdown/test/default/primary/lightmode/dropdown.e2e.ts create mode 100644 packages/core/src/components/dropdown/test/default/primary/lightmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-primary-lightmode-clickin-65615--opens-the-dropdown-list-then-click-Option-1-1-linux.png create mode 100644 packages/core/src/components/dropdown/test/default/primary/lightmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-primary-lightmode-clicking-the-dropdown-button-opens-the-dropdown-list-1-linux.png create mode 100644 packages/core/src/components/dropdown/test/default/primary/lightmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-primary-lightmode-focusElement-method-focus-and-opens-the-dropdown-list-1-linux.png create mode 100644 packages/core/src/components/dropdown/test/default/primary/lightmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-primary-lightmode-renders-default-dropdown-correctly-1-linux.png create mode 100644 packages/core/src/components/dropdown/test/default/primary/lightmode/index.html create mode 100644 packages/core/src/components/dropdown/test/default/secondary/darkmode/dropdown.e2e.ts create mode 100644 packages/core/src/components/dropdown/test/default/secondary/darkmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-secondary-darkmode-clicki-e1e41--opens-the-dropdown-list-then-click-Option-1-1-linux.png create mode 100644 packages/core/src/components/dropdown/test/default/secondary/darkmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-secondary-darkmode-clicking-the-dropdown-button-opens-the-dropdown-list-1-linux.png create mode 100644 packages/core/src/components/dropdown/test/default/secondary/darkmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-secondary-darkmode-focusElement-method-focus-and-opens-the-dropdown-list-1-linux.png create mode 100644 packages/core/src/components/dropdown/test/default/secondary/darkmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-secondary-darkmode-renders-default-dropdown-correctly-1-linux.png create mode 100644 packages/core/src/components/dropdown/test/default/secondary/darkmode/index.html create mode 100644 packages/core/src/components/dropdown/test/default/secondary/lightmode/dropdown.e2e.ts create mode 100644 packages/core/src/components/dropdown/test/default/secondary/lightmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-secondary-lightmode-click-ec84f--opens-the-dropdown-list-then-click-Option-1-1-linux.png create mode 100644 packages/core/src/components/dropdown/test/default/secondary/lightmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-secondary-lightmode-clicking-the-dropdown-button-opens-the-dropdown-list-1-linux.png create mode 100644 packages/core/src/components/dropdown/test/default/secondary/lightmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-secondary-lightmode-focusElement-method-focus-and-opens-the-dropdown-list-1-linux.png create mode 100644 packages/core/src/components/dropdown/test/default/secondary/lightmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-secondary-lightmode-renders-default-dropdown-correctly-1-linux.png create mode 100644 packages/core/src/components/dropdown/test/default/secondary/lightmode/index.html rename packages/core/src/components/dropdown/test/default/{ => unspecified}/dropdown.e2e.ts (93%) rename packages/core/src/components/dropdown/test/default/{ => unspecified}/dropdown.e2e.ts-snapshots/tds-dropdown-default-clicking-the-dropdown-button-opens-the-dropdown-list-1-linux.png (100%) rename packages/core/src/components/dropdown/test/default/{ => unspecified}/dropdown.e2e.ts-snapshots/tds-dropdown-default-clicking-the-dropdown-opens-the-dropdown-list-then-click-Option-1-1-linux.png (100%) rename packages/core/src/components/dropdown/test/default/{ => unspecified}/dropdown.e2e.ts-snapshots/tds-dropdown-default-focusElement-method-focus-and-opens-the-dropdown-list-1-linux.png (100%) rename packages/core/src/components/dropdown/test/default/{ => unspecified}/dropdown.e2e.ts-snapshots/tds-dropdown-default-renders-default-dropdown-correctly-1-linux.png (100%) rename packages/core/src/components/dropdown/test/default/{ => unspecified}/index.html (84%) diff --git a/packages/core/src/components/dropdown/test/basic/dropdown.e2e.ts b/packages/core/src/components/dropdown/test/basic/dropdown.e2e.ts index a3ff9916b..ed305ae29 100644 --- a/packages/core/src/components/dropdown/test/basic/dropdown.e2e.ts +++ b/packages/core/src/components/dropdown/test/basic/dropdown.e2e.ts @@ -4,8 +4,11 @@ import { expect } from '@playwright/test'; const componentTestPath = 'src/components/dropdown/test/basic/index.html'; test.describe.parallel('tds-dropdown-basic', () => { - test('renders basic dropdown correctly', async ({ page }) => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + + test('renders basic dropdown correctly', async ({ page }) => { const dropdown = page.getByTestId('tds-dropdown-testid'); await expect(dropdown).toHaveCount(1); @@ -14,25 +17,21 @@ test.describe.parallel('tds-dropdown-basic', () => { }); test('should find label and not exist', async ({ page }) => { - await page.goto(componentTestPath); const labelText = page.getByText(/Label text/); await expect(labelText).toHaveCount(0); }); test('find helper text and check not exist', async ({ page }) => { - await page.goto(componentTestPath); const helperText = page.getByText(/Helper text/); await expect(helperText).toHaveCount(0); }); test('have the button to be visible', async ({ page }) => { - await page.goto(componentTestPath); const dropdownButton = page.getByRole('button').first(); await expect(dropdownButton).toBeVisible(); }); test('clicking the dropdown button opens the dropdown-list', async ({ page }) => { - await page.goto(componentTestPath); const dropdownButton = page.getByRole('button').first(); const dropdownListElementOne = page .locator('tds-dropdown-option') @@ -48,8 +47,6 @@ test.describe.parallel('tds-dropdown-basic', () => { await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); }); test('reset() method resets the dropdown', async ({ page }) => { - await page.goto(componentTestPath); - const dropdown = page.getByTestId('tds-dropdown-testid'); const dropdownButton = dropdown.getByRole('button').first(); diff --git a/packages/core/src/components/dropdown/test/default/disabled/dropdown.e2e.ts b/packages/core/src/components/dropdown/test/default/disabled/dropdown.e2e.ts index 94561ae3e..eec920162 100644 --- a/packages/core/src/components/dropdown/test/default/disabled/dropdown.e2e.ts +++ b/packages/core/src/components/dropdown/test/default/disabled/dropdown.e2e.ts @@ -4,8 +4,11 @@ import { expect } from '@playwright/test'; const componentTestPath = 'src/components/dropdown/test/default/disabled/index.html'; test.describe.parallel('tds-dropdown-disabled', () => { - test('clicking the dropdown icon does not open the dropdown-list', async ({ page }) => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + + test('clicking the dropdown icon does not open the dropdown-list', async ({ page }) => { const dropdownButtonIcon = page.locator('tds-icon'); const dropdownListElementOne = page @@ -24,7 +27,6 @@ test.describe.parallel('tds-dropdown-disabled', () => { await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); }); test('clicking the dropdown button does not open the dropdown-list', async ({ page }) => { - await page.goto(componentTestPath); const dropdownButton = page.getByRole('button').first(); /* check that the icon is inside of a disabled element */ diff --git a/packages/core/src/components/dropdown/test/default/primary/darkmode/dropdown.e2e.ts b/packages/core/src/components/dropdown/test/default/primary/darkmode/dropdown.e2e.ts new file mode 100644 index 000000000..056528eb2 --- /dev/null +++ b/packages/core/src/components/dropdown/test/default/primary/darkmode/dropdown.e2e.ts @@ -0,0 +1,74 @@ +import { test } from 'stencil-playwright'; +import { expect } from '@playwright/test'; + +const componentTestPath = 'src/components/dropdown/test/default/primary/darkmode/index.html'; + +test.describe.parallel('tds-dropdown-default-primary-darkmode', () => { + test.beforeEach(async ({ page }) => { + await page.goto(componentTestPath); + }); + + test('renders default dropdown correctly', async ({ page }) => { + const dropdown = page.getByTestId('tds-dropdown-testid'); + await expect(dropdown).toHaveCount(1); + + /* check diff in screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); + + test('clicking the dropdown button opens the dropdown-list', async ({ page }) => { + const dropdownButton = page.getByRole('button', { name: 'Placeholder' }); + const dropdownListElementOne = page + .locator('tds-dropdown-option') + .filter({ hasText: 'Option 1' }); + await expect(dropdownListElementOne).toBeHidden(); + await dropdownButton.click(); + + /* before clicking dropdownlist should not be visible, the button should be */ + await expect(dropdownButton).toBeVisible(); + await expect(dropdownListElementOne).toBeVisible(); + + /* checks diff on screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); + + test('clicking the dropdown opens the dropdown-list, then click Option 1', async ({ page }) => { + /* click the dropdown button */ + const dropdownButton = page.getByRole('button', { name: 'Placeholder' }); + await dropdownButton.click(); + + /* Click the Option 1 button */ + const dropdownListElementOneButton = page + .locator('tds-dropdown-option') + .filter({ hasText: /Option 1/ }) + .getByRole('button'); + await dropdownListElementOneButton.click(); + + await expect(dropdownListElementOneButton).toBeHidden(); + const dropdownButtonWithOption1 = page.getByRole('button', { name: 'Option 1' }); + await expect(dropdownButtonWithOption1.first()).toBeVisible(); + + /* also check screenshot diff to make sure it says Option 1 */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); + + test('focusElement() method focus and opens the dropdown-list', async ({ page }) => { + const dropdownButton = page.getByRole('button').first(); + const dropdownListElementOne = page + .locator('tds-dropdown-option') + .filter({ hasText: 'Option 1' }); + await expect(dropdownListElementOne).toBeHidden(); + + await page.evaluate(() => { + const dropdownnew = document.querySelector('tds-dropdown'); + dropdownnew.focusElement(); + }); + + /* before clicking dropdownlist should not be visible, the button should be */ + await expect(dropdownButton).toBeVisible(); + await expect(dropdownListElementOne).toBeVisible(); + + /* checks diff on screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); +}); diff --git a/packages/core/src/components/dropdown/test/default/primary/darkmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-primary-darkmode-clicking-e1a7e--opens-the-dropdown-list-then-click-Option-1-1-linux.png b/packages/core/src/components/dropdown/test/default/primary/darkmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-primary-darkmode-clicking-e1a7e--opens-the-dropdown-list-then-click-Option-1-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..92ff439734e6adf4a7ec48713b39258248dfd395 GIT binary patch literal 7189 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 Kv+C^SpZ*C=i$ekc literal 0 HcmV?d00001 diff --git a/packages/core/src/components/dropdown/test/default/primary/darkmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-primary-darkmode-clicking-the-dropdown-button-opens-the-dropdown-list-1-linux.png b/packages/core/src/components/dropdown/test/default/primary/darkmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-primary-darkmode-clicking-the-dropdown-button-opens-the-dropdown-list-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..c94a82d29843c77b498ee4a1f8bf1ac1d99838e3 GIT binary patch literal 11231 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 lpzmcwPNzPJ6Z;+)6r{{-UvJFox% literal 0 HcmV?d00001 diff --git a/packages/core/src/components/dropdown/test/default/primary/darkmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-primary-darkmode-focusElement-method-focus-and-opens-the-dropdown-list-1-linux.png b/packages/core/src/components/dropdown/test/default/primary/darkmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-primary-darkmode-focusElement-method-focus-and-opens-the-dropdown-list-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..fae1c4c879f9320807704dfc48b6cafa3a81280b GIT binary patch literal 11221 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 V+ut>BG71JhCy!x{GCVKb`ZsPw?P&l2 literal 0 HcmV?d00001 diff --git a/packages/core/src/components/dropdown/test/default/primary/darkmode/index.html b/packages/core/src/components/dropdown/test/default/primary/darkmode/index.html new file mode 100644 index 000000000..6bbc38b71 --- /dev/null +++ b/packages/core/src/components/dropdown/test/default/primary/darkmode/index.html @@ -0,0 +1,32 @@ + + + + + Dropdown - Default + + + + + + + + Option 1 + Option 2 + Option 3 + Option 4 + + + diff --git a/packages/core/src/components/dropdown/test/default/primary/lightmode/dropdown.e2e.ts b/packages/core/src/components/dropdown/test/default/primary/lightmode/dropdown.e2e.ts new file mode 100644 index 000000000..4b954f02d --- /dev/null +++ b/packages/core/src/components/dropdown/test/default/primary/lightmode/dropdown.e2e.ts @@ -0,0 +1,74 @@ +import { test } from 'stencil-playwright'; +import { expect } from '@playwright/test'; + +const componentTestPath = 'src/components/dropdown/test/default/primary/lightmode/index.html'; + +test.describe.parallel('tds-dropdown-default-primary-lightmode', () => { + test.beforeEach(async ({ page }) => { + await page.goto(componentTestPath); + }); + + test('renders default dropdown correctly', async ({ page }) => { + const dropdown = page.getByTestId('tds-dropdown-testid'); + await expect(dropdown).toHaveCount(1); + + /* check diff in screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); + + test('clicking the dropdown button opens the dropdown-list', async ({ page }) => { + const dropdownButton = page.getByRole('button', { name: 'Placeholder' }); + const dropdownListElementOne = page + .locator('tds-dropdown-option') + .filter({ hasText: 'Option 1' }); + await expect(dropdownListElementOne).toBeHidden(); + await dropdownButton.click(); + + /* before clicking dropdownlist should not be visible, the button should be */ + await expect(dropdownButton).toBeVisible(); + await expect(dropdownListElementOne).toBeVisible(); + + /* checks diff on screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); + + test('clicking the dropdown opens the dropdown-list, then click Option 1', async ({ page }) => { + /* click the dropdown button */ + const dropdownButton = page.getByRole('button', { name: 'Placeholder' }); + await dropdownButton.click(); + + /* Click the Option 1 button */ + const dropdownListElementOneButton = page + .locator('tds-dropdown-option') + .filter({ hasText: /Option 1/ }) + .getByRole('button'); + await dropdownListElementOneButton.click(); + + await expect(dropdownListElementOneButton).toBeHidden(); + const dropdownButtonWithOption1 = page.getByRole('button', { name: 'Option 1' }); + await expect(dropdownButtonWithOption1.first()).toBeVisible(); + + /* also check screenshot diff to make sure it says Option 1 */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); + + test('focusElement() method focus and opens the dropdown-list', async ({ page }) => { + const dropdownButton = page.getByRole('button').first(); + const dropdownListElementOne = page + .locator('tds-dropdown-option') + .filter({ hasText: 'Option 1' }); + await expect(dropdownListElementOne).toBeHidden(); + + await page.evaluate(() => { + const dropdownnew = document.querySelector('tds-dropdown'); + dropdownnew.focusElement(); + }); + + /* before clicking dropdownlist should not be visible, the button should be */ + await expect(dropdownButton).toBeVisible(); + await expect(dropdownListElementOne).toBeVisible(); + + /* checks diff on screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); +}); diff --git a/packages/core/src/components/dropdown/test/default/primary/lightmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-primary-lightmode-clickin-65615--opens-the-dropdown-list-then-click-Option-1-1-linux.png b/packages/core/src/components/dropdown/test/default/primary/lightmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-primary-lightmode-clickin-65615--opens-the-dropdown-list-then-click-Option-1-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..571de187b9dbe3db9713264d3f8339073eb3f7a9 GIT binary patch literal 7228 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 bP9#^W6R|sLJ_7y`&5j0yeAD{%xoiIdENel0 literal 0 HcmV?d00001 diff --git a/packages/core/src/components/dropdown/test/default/primary/lightmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-primary-lightmode-clicking-the-dropdown-button-opens-the-dropdown-list-1-linux.png b/packages/core/src/components/dropdown/test/default/primary/lightmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-primary-lightmode-clicking-the-dropdown-button-opens-the-dropdown-list-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..617aca6eae9d7194776f7fb5046d292cd5ed6cea GIT binary patch literal 11240 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 d?)_S!_VLWeU8UrqYy$+EFJ_wp@7Uq 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 Z + + + + Dropdown - Default + + + + + + + + Option 1 + Option 2 + Option 3 + Option 4 + + + diff --git a/packages/core/src/components/dropdown/test/default/secondary/darkmode/dropdown.e2e.ts b/packages/core/src/components/dropdown/test/default/secondary/darkmode/dropdown.e2e.ts new file mode 100644 index 000000000..f941e8c35 --- /dev/null +++ b/packages/core/src/components/dropdown/test/default/secondary/darkmode/dropdown.e2e.ts @@ -0,0 +1,74 @@ +import { test } from 'stencil-playwright'; +import { expect } from '@playwright/test'; + +const componentTestPath = 'src/components/dropdown/test/default/secondary/darkmode/index.html'; + +test.describe.parallel('tds-dropdown-default-secondary-darkmode', () => { + test.beforeEach(async ({ page }) => { + await page.goto(componentTestPath); + }); + + test('renders default dropdown correctly', async ({ page }) => { + const dropdown = page.getByTestId('tds-dropdown-testid'); + await expect(dropdown).toHaveCount(1); + + /* check diff in screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); + + test('clicking the dropdown button opens the dropdown-list', async ({ page }) => { + const dropdownButton = page.getByRole('button', { name: 'Placeholder' }); + const dropdownListElementOne = page + .locator('tds-dropdown-option') + .filter({ hasText: 'Option 1' }); + await expect(dropdownListElementOne).toBeHidden(); + await dropdownButton.click(); + + /* before clicking dropdownlist should not be visible, the button should be */ + await expect(dropdownButton).toBeVisible(); + await expect(dropdownListElementOne).toBeVisible(); + + /* checks diff on screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); + + test('clicking the dropdown opens the dropdown-list, then click Option 1', async ({ page }) => { + /* click the dropdown button */ + const dropdownButton = page.getByRole('button', { name: 'Placeholder' }); + await dropdownButton.click(); + + /* Click the Option 1 button */ + const dropdownListElementOneButton = page + .locator('tds-dropdown-option') + .filter({ hasText: /Option 1/ }) + .getByRole('button'); + await dropdownListElementOneButton.click(); + + await expect(dropdownListElementOneButton).toBeHidden(); + const dropdownButtonWithOption1 = page.getByRole('button', { name: 'Option 1' }); + await expect(dropdownButtonWithOption1.first()).toBeVisible(); + + /* also check screenshot diff to make sure it says Option 1 */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); + + test('focusElement() method focus and opens the dropdown-list', async ({ page }) => { + const dropdownButton = page.getByRole('button').first(); + const dropdownListElementOne = page + .locator('tds-dropdown-option') + .filter({ hasText: 'Option 1' }); + await expect(dropdownListElementOne).toBeHidden(); + + await page.evaluate(() => { + const dropdownnew = document.querySelector('tds-dropdown'); + dropdownnew.focusElement(); + }); + + /* before clicking dropdownlist should not be visible, the button should be */ + await expect(dropdownButton).toBeVisible(); + await expect(dropdownListElementOne).toBeVisible(); + + /* checks diff on screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); +}); diff --git a/packages/core/src/components/dropdown/test/default/secondary/darkmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-secondary-darkmode-clicki-e1e41--opens-the-dropdown-list-then-click-Option-1-1-linux.png b/packages/core/src/components/dropdown/test/default/secondary/darkmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-secondary-darkmode-clicki-e1e41--opens-the-dropdown-list-then-click-Option-1-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..5db76cffd01be9a9570a8303217342e98b69ee6b GIT binary patch literal 7155 zcmeHKTUb+977n!*6_sgKs30)4UkhFc-T)zm^oES3Kxu>!0*RL*w?IS!34|otTBs;y ztRN@^3J8b+GAa-tiNT>jB}$M>5+D#LXbcGnms}v%IhlExr}^gVOJ6t-YwdG(ve&=< z^Y69Sx%y35@U|^ZTR>vSBQShxaMN3W`_%0#8^GCQd>i~ZsCi(I3irwHW>li8(FnUj4>N9~RtJbLLW^=?Ss{g<%Y_lv7K=I%m%+Pmqe`=uf0m0u|f z?$+KuU;663eQ8zINw@EAI^WPf_cNsZvi9DMuCA^_E5>x;F~_~0-CO&mn$Gt2?Oa1H z-vpsNVPu^5K+^FNE08GMD;{wJFc^II?L&b36RiK ziGdBLs-N1n=r#ek4zQ{E1B2e)-Zl14qf;LOPZ}3*lRyk%JwH@PrKrPUX&u@BOz;u? z(h?n2M9cj>-QIF$xftpUM5}YGR2>qS)BgtS|JeaQ`XyyyX&bPvqF5TvGxUnqs)Va z`#o%lMj}^6VEo+pl_rZ`$aOWpcv;&6>)nG!pi5)iMB_#fP!4=usvEcduADo1gB|gLI$dJ2#-JbsNT_9#+3CPuN{_h7EuIQaT z8(?k<&VYYyPu@nmG#buO9dwO+*gWp(V@ZzKSzKHUQMJr=NGaT^sxwNlJ_O9lWn3nL zP5o{@7iWS>t~>et4rHBW-slKknE<4By62mY=Zy9RAEZmV=mSoaED{wpB@#u)U=kBO zT#O4eJh8du+lZY3IXKl&EiV8sd3oeGen4D{Uh6)ABAN=BQ)FT>ic>*Y=JSkM0NUuo z2WLUe59V=7zXSzG^;1FxDN8d7XDz^eiv$oj9_-R+yc*8dDOo`gBcmKN8qGymnw%XD zdIU^1HOK@V8PXoGNGuj#WdC}z+T%%!tasP0U0xhxKNzCI8C>vft^n>!KgS!l;1Gyx z1Y%6wkx@`BO3Gh|5zrs_Zxfwk78DfBbmx6?=+)C|4<~15mGK3ZY96>58A*FUe=y)b z%gVnI_~r-4Mmmw3QUbO-{)$n1eGgF`0c~IX*)3Mxjde>;3+O(dnP zFUEW@wtZ3YP>R;^=oa;~X)=YyEY}KM$ zg2%&PD>^UZj4cC7F&pX4t`s2yJE@f;z0$v%NM$C)jvUWkE`mZe&sX@|cK$Cm|B+h6 z&iE9KlEu~mC_oEoV-|-*V6eLBy)M9g`IkRr6H`FGCFW$556enokGEscOR-jofq{H| zeM@!)MHKCdPo1)Ew1W`{AbvbB-L@rdcE{-%J3##TNw6zzo|kxR{Z`;EI0<>BZQmu% zzi;xB&Rx-a4*qdu|2v=P?KW()ULJQ?IRq34QsO*GS{U$H*nhwhJX>iIC!meITYyYb z#l186g{Y5(Kz7sTs%kb67Q&lI3*OL5?dlGQ%ICu3psB2^tQSoR%FNUZ)yD*@hWW-? zNu9~jGiKy=>K?p00?Qs-Zz<8hbqPC?61wNIQ|5@jTtV_0?YB|G8{jA_#u!6oxZ;TPRti3$FQ!2`k$t zQjs~&4RbB|d0So8`TKN%`ucr+ZW*T#2!L?|RfPRLbVoro0nppWQ@A+Z@bvure8zx( zlX|}f$PFCVgu6-7jma+?lw{*gsB!M+Yf-Y%l!vLue7uzb->s%FxPr^f?Lhs!D5$bA zJ{yJ01x<4G?xQhY1Eotbm4Td)zPL`@+W2det^Mx9`m$g}C(rl9R=1d)J*~nxC~nmz zC<3!w?3uUSZS)ACzjTLSVUjpFeI|cT&fG7TiAo){?>8C*KUGb!m`+?DC;qk=2}f$K z!@^M*=aN`|B@I87YMB5IxlOIh{gsKcn-{9S*wBt--mUgH&#xHHSu%~OfDPs8Qc_$@ zBPn&~+4}JhsexHz?FZi3Ca&=)*l6b<5DH7)39$`|I0c8R9!`Lz-AYa{<8FaY)$*6=&$;po(D|q9SW89y%{_ z+2!KWl_4G2S5V#7R;M|u8&^J-8joI;l>5jCGW`;APhZ@XjB_|#9G?gF$`dZF77d+w!Es_eou#Gu*#sE%pqCc zH57^|Zw6;D5o& z_PdW=pnlMOVsv!Wv&1tpYf%?RSgQ3!L(Q#1R3$-vZ+?Jg@0a+U5FFQQx%fG6^SLm8 zGf@6?^R3Gt*i!Xtk-{Q}gn_$bBO~fU7d%^~)0IRyIXR`3;S49;_YjBh;dGh6dU%@^ z{dCAG3cwLv(An8Z$}eOq9pO=#4}fd@BG3Fqz86y;x7}jD2<$JdbNXOi875bH@2W3~ z7#bg659sVJltSihzU5YW(Ud7P;>5N1sZ3p@(Dg*K@)-5wF!qAuEJHp`w4Qgesch*a5MO*>;uyGcN0YzRSu;iCHIc7X|GOD_ zwW?_%nKLSBgyAdO%=nt1YYv_&4gmZg)v`D4UDiSDrqh7in|lRy`5mB$YG*h9NgdPv zi6h1rABM$dL9E4`GV{o-(8NgK3Fas9chUf8puht5Tibw2{kDy@UjMhfa>H)gH306f z`u-Y3AqRf?ORLYu#j~LkHPWxn@mUuTisU4Jyplbsg|z*r@hYWC4h)XcSQwTmY{9z6 zy0+9kqBSEU<2XW;0kire+0NN9P(3{YN#oYOsJziuEqr!M!aOBlwn@YgTO zn7`h%&b=<(VOi~KKw>&x1VN8eUYB7TJICjP-AHFkz;Oet>EBcO(3)RosiX_ZFT90; ziR!9^iom*u50^xxb!#Cwd3; zM5m@cAV-@!vnIU(RsN=v&u59!rM1^_^ajs@M?0vHWFYR&pd~@$orFqKvWcyqrTRT8 zdgNA~W75FUWLb}An`r(TTHJodY_zQxb4Avp@$$G+R~!o$0B{#V2@70P51j>?1unU4 z>c~=W?~iuQuYJXtQkSySwrqLBk9LlM%Zp!xhKAl!aqF=XzGwVBSbaZ{V(kis-{YFP z>(VN5JRh`#ERDl+HG;AU!Vf@@#`nkdTX3>x$+GrfesS3GrJ`z&PTWFFWE`nKDS=ro zID{nws~6gZ*glp%S4P1e7v0RuThpw}LlqNH%siH2;Oge57G84tuFDuLOYZ;@i9X!I zlDX-U+mfr?P|!;Yh5QJn^fba)4gR?7f>(8K5<^P7;l;n<3Uk?Hs|YCX%i^ zxBrfF+G@{7VI*>Qp@X+qj`mJHij>*=+*h)iZ1Hq(w!;2qEQVvqT7+xgbPSz57nZX2 z>L`Tlof zwLZJfz&Zo#46HM-&cHeY>kOGsGkmtGr4j3Swk- z0z`yRhJ+9xP?SN2FbDwx2{MHck}xG9^Lt{ycddTwuJ50_Ztwlpdb?KO$;mUEefHjG z@8ACI=gv7t2X)n5st^c79sc9@&Jf5Z@b#0vEuVnHchFNCz+pqQv%^V9MelAF1hNML z|New)LLO%V(cl)CzrI{cvGq8{yk@oK@2VS4(sSU^s2y}(qJ#a`b4Ohc8J6tt>Sje; zH1~J3{Q3B!+bMUSjRrh_s+E$nMfK^{XDQ!k&&E|0(C89jd)xHR?@#uANJcSuSQEcc zSTKx|v_paP4dpbtkTmIrK#*ijQi^V)Qlfd)Prd}>&p-VZ48GcO3H(3#c{BL`^PXgI ze#;5SMhN8d6v$>E@TVI-11s6`FT0^{`-X8cnw%IN6wkE+lT9L7=OFPXaF4L@h1dF- zc;Od74%@Xjfy0xot}X-bgcd;oP-b(gFH>cyz%JF16umND5;PG{d5=+t7C_JJD~&|6 zb)pL%i`a@B*YoEKpo_!hv>^{9k7WSOwTW)?Ag>g~o0tW3OsYU1`+A-~9ND|*kFmL0 z?INIu;$X0q_Nl37`fx5OcwxT(xp}tIbhLfR=p~t?rU*q5Y6TKiGTZ9IvHOf4LWfm>CI&as3bd6xZ83j@7L!Ro(n}-UwL=u-q5R| zLfEx8cA7mSiw~I!0fD$$uv0Qxje&6=i^aD~U3l~Wr2~awA-0N?G&GVuqYu~1m90;n zxVdukY)_96wj?>Tf0fo5zdLHFBvb#up+nZortN;KgXqw!S6|^G>n=~74K6qw)n!Pg zK4ha%t(%w_#e#>ih()PjuXQQ4-1@X~(8F5X(MrD2`PL0trs}+@yu4i0Qe0dtZ5fMY zBLoXs`f!Y1R$ySDsh*gJzr&B^d-;kQiw~hW{GrH(e!{D(@)UBMcovAd^r5eFgSWSL zOb-TqZ8*3crXY|x^`Q#J1i}N=Q1jv_y00Xjr_QDtz@2@32K)M!O1C*2HM3yyxWLXP zMn)3>E#Ah|xQ5XK@C@nTPbx14Sy*4x>Prg^%6Mzvm3InAJRLkz_Rluz(bmgqu?1cmh^mG)k$w-?5PZW_`Xt& z$WOs3b3en^?8}e4>O~J^g$bZ||Q;6XALGjIP3tmrv zq<>O$_)$1NMCfuHj>pQUVZzys3dUC=g@De}x^>Im(Bn{~WN`dAFm^??V-3Hokt(r@ z_W&|3es{|U{mu&&>tmdI+If?k8xmtZ_hNW>SVWN)u?axj@4m5`+%`W~JU0jaiV5xw z@&y;C-tk}tdQofxp742(M%~77`fWbj@E{`M$OT{e^rRhTS0zo4=vuYHrv}MHAL{ED z^x*@nwGvI+r1_;rXJWweGiJeK*^m1(fg|qKunFoYfOZ8{rTJZ0pP9zYMd?62=!in} zxFWOgps{hHthUG$Dl5EASjg0em#AqTUmR(%OAS7feM@bwH{TSIS*^W&yKdaf)|;Ev z!>_!Q&{kJzZ5D`UO{6v0>f)+`sVPi9wm8C|ucUDlnjk7Sn~$~lrMUU}($D!3IwyZE zJYH*-NklB*O3o6Ch(uP0zhgHBb8PMLt0oz@&|K7nh~$yk4nORUaz#}>t710B)5Xn5 zm(7d#b^`(IWqAIC@XHv*8m)w}O5@IErRrVxMlDUYrn5%ND2?$9!6c728d``R2`0-d zj!Rlnbv@4aPZy9PWrZp{oq8rceA??+zpn%}r72_(b>)dbuk%N(jwBl%JgB)|vMtSb zoxOh=?1@H&retop91qO5V zX+(ivnAZG}c7Z4r9~%TSe_ou_T3;Kf)EWWv**lXXVe7USO3tsBWn&iZWLqAqT}Wpt ztdsMN5AC)L!;NBkE|4R7#>~nJ3rs_&*LOIrEsh%uS0MeZ6rsR7ZtTg*inS8e^c&<` z*1vvDOP}b}NcdDNRWmsY_KLH;y?vVRg>`P~eNrqNwZ6?@t#rZ5)jRLh_7{VQ`^7TzP+~G#m`S7IN@_04ky_U&$Ls^ zy#}j2+$1g@?t(*SwDI{x75Jd(1WWOFs#_+c z)8DTTr;l}OY?%y+ms?_c=Aug5+HMaIKRPSVaV&ANoL$t`hADvm)zlmna;v+x8eqm& zQiKzxz$I7{)5LgG{mW?7oB2k^n$Z(rlF3u2x*V;Li_hLtdU972GW0>1a&br}qQ$ya zuYQVe-rHAeW(F)38#~0SV1Qt8FzI0|TaGmduJ9rh=uOEUbmg`5R-@OXNo1)a~CAYE;}ZRV9=XK#-Y1T(~1 zz!0B$IA4rg=s2vlqq~P1nV}!e>_&ZvRCCllUR+lflNuJHg5Ekz8X6utYGK9^F3W&D z=BoC((ME?gb=W7b0bmKO6ituphDM6GFrOzKKaf8;$12}jPiAT%x4JDlWX zyM?QvJB%OGaEb^KtfxS<)RL-)Sje7^${sf~F+r^?J7nr-o2`DZ(|`rdWHSRyN9|1x zJyvx4;Tz=sXw>@s)^sc6`}MG5K9Ou&eXV8uEdATiIXj2lvA<;p7gGDq!4%mg8aC28 zLOX+@6!AAp*2C&Kill4Gp3*3BGO;G_!Jc-s>U87>`5BR4;+Svws&B{71C;^Ka>ADy(NKdTCpMAW~g3vQ=m< zGwz$@c8weR;TZrkJg^5RCV8idoZ%T~7CTgx8I%?@7e$n^fEzstjnTI!ESolS#Q?@t z+J!~m7ys=LxZ~vfcM#H6C6v`>e|I+Ru$ZbY2?PD$S3q{T#{cic+31@_^?utaysJd!KY7Qn83zdw`JVcxV1@XgfE zX_i$=1PeXnqucB!dACoK@_4yWEAk>SYG|OS%a}Yxx_9=he|ugd-!PzhG-qrqeepvf zK!v}y?-ubRz572Zc>NM<0OD9O=&&0#k{>@oLoHR1c*nVqpRW=UwYw2f-Sg+2x|0I9 zF4avUKCalgR3F}}1B(#Xl)^KVIEpn`Tr;6=eBgj+8PkMCKNO$Fp6S3n@|&p+E) z@8_e9QX4ACE3Da+KZTY1) z>sNLGw;eei8v>zHsr%s0=g-qol~vEG@Z5ZT-(RELWP`h^!4_L4a6&dw`S z8Q2vQKkt=+`z>~3^7^Qu1!>E|P~<~wywHsT#E%Jq;Jj<=o0=~7HUGp>QBfcB@65nj z3BMCK03J9I`ln@qvDXCD7HiA^b4X08%T4Sw>5PH?*=^R z1&=`@%tr+iaE!PLq=Q>=vr z_5GyX-rOGG^HSWFMh4LbsRD{=NZgj+3uUYRy?tO<8L0OY&`vVh?jLLEQmMtoMiZj9 zac+;fg@qmVz0*Bp{=d`#TV-zgVu=kzqt7RJ>WjA+?%QL+3w*)W&NGZ zd1<$y;qRkUzlYo~hmUgq%gg?M4E6sPv7kzlKV&_d(z7YMd#WqLyW-cUO>wO`VdmBR z!L+-l#azp4Z>!$wj@l7c-f_1#4%pj|o(Z+{3HRZTrN36<;a*%B52F3W4nBu~aB-Q= zHGEX=Nwm&7C0>*KnDGK{UG}mrpthhDwg+G0P+56QW0;foHGfHzScq`GpIJ`0$_^b4G%e3Q(`(t+34PtT}2i6p>Kvl}JfHwB>h^pg$QOF!YnOg@&8Bl)Bpa#Ci(f-5yi7f4dJU zM!pD=<=ic3%zW|WX@p&m*sRp`6~dmP*BB4aP>R}f_TCWNoh;iD^U8tea|#3_qBjt> zej!$bcq_7hXNUl9a@4{+?1HduKjwl5&TD9FU_fvL+g0RjtELWW^slHz8}b~rcf3%$ z=#@*;#N%te*s-070TuPYKt!l}<0Hosgc~QPCtxAe;ypF|N<_p04K2*-!p=m&&!0ap z@3BeZIbU#Xh?^}dO^LxZ$*Qx@fHj~VWDIaa83{)4q9i_x`dnztroIkCw-vV$#>j`* zzN6z8$TFOsGP#zX=G`b(Rn5@v3{+4yb`!mepIn+YcP@41i!DscjldGkhS;Pm;g8^o zeQ;ya^(iY&SV?^>?xm+9C^Yo+>1cl+z8KGZ3AEQEwm4F5l>KN9XkcH_1itb)P}Kn= zL!7U$Ev`O5xdZ>^lcaL2u&Fd9MW7C1bv4I!5SS&x`bx+dZ2=Njq^g$YylIn>kxt}( z0{-as9gi9i4?wAy5|dPI2=IKPn45EI`)g0pRhk6&z zeRJ??cm#c_Asm~8!C{S!jo3c5q5jieL!lnCQAAEmoKgxsAK9$ay?e1b&@jggsrI>8 zLtg*LIjVVvV`SJ$%=wTxj+0vCnfGyKw6U>_p1?G^eCgWd^YG%@5JTZPZ|`9Qc48s4 z%;L3YDGErDGQR++@FC-0dkI(G`ECM~Mdiz2H?r%AS50wtG@XM8UWW0Zg9i_kzg!$T z=amob4!8)M)YCJNgbVF$bn|l=EsMN-`TY6oA&D3|Kawosy;`h3?T-xi=@GlWdcq+) zk^yN6i96^cGyM@bdCm~dL-2aRchstLHfNX4a7B_4oK94yt+^xJ6cd@Q3+43-^<(@} z*Mo`=AI8)}4WFl<)0Phc$u zA^Lxa$hc>ah>(aCsgkFlbvl00433que=n2y|7|dh`wpV1gJxDrk@+>2g(THuR+>`GZAD}7WR#SD!GQMA-sLKVT5Rnu~_8}o54(@>cy~LyrZD?q3 zw&B)s9wkzGVapFqf56z7V7nZf_;VQ<8Ag<=&_;@l;y1ZUdPl$!T0^Q_CYccA<}xXM z*T(OZp-@JC1vo&Mq`YEm+%sQ1Z)37{U?3A0M-wCLj zY}@ctw24Wu45(rrA#x}s1KcgWDzdjl2(mFY;=XDp*m9Q+iVjH6%kAT1>=-`@RiP+8aol(P2pPP=-FAj&6;{<;=D9+0_&ye59tVrc~nRU z>#My#{Gx+y@$~QIP{|CW2XVR3_c1AQ0NfQkyb5%?I(PUD*i4(|k z_zKyjv*Bk0?d|1&H}Hw=sqOOhk*|#h?{}tDJ za`&!ppD1b-C|O)n3{Xd0B`}CsTrWLK72M3)o>d#m(_g-uRkos%w!=g|{{+)Sb%u_H z6M)LKu?-K=A^>7nwjmjIZvXjH8E2W(Zumk94-MsbE=$1aVSV~ zW=4P;lk?AFH(v`4Wh;8~5{F+7(lpa8SJzVIN1tccH% zy%By086WV4HmMN}Y!b8YD-&{6?RF%`sX{!f4vR#1UT}Rs_7l_%R9TZ7pZ+u8H%uDw z3M@OQdQ>YN*5nWvhOmxITlSJ>>)PJ@1 z?i7v!g^z+wY$6%+;F1(V+J}ouAGi|}`{$wKckbNF0xc(BacyK?>|BR~p1k$N9gFT9 z{u?ux%rn^U8=z$??0a+RrxC{3uAu6ko}N~r%@Zv`6)0_;3e98JZ3{aR_9*M^9?zO< z5!bI@KXKy3!K@^5G)b(X>_IJl{(FB(HGXX~eVKZTqA43`k6$wer`E4UDe?7xrdf4v z~14-20~x-(SP7GdW5E9lsaz-JjPc`+wqPt3Ao7>a^84xJ7TSsiboh zBcEA-y7O79O~pI{kAB+s!hOdQtESAVsw#sZn*q-<;2xEx>;(wje^M`gJg%!Dm|2+c zZs+s%0&G{H0V63I4)1&vT#KPI3(%Jp8yy0UWT!{YMKcQr-@hMUjs+|Ih=$P|L#(y6 ze;eAdA!PQQ+i9#ZNqU!OZfvRz4cAH2`H8TG(WxZ zSiU3l`ugQ~dTgYmg~V-Q*7>LRGUj}~<#ir@?qGA6{ebAyBc7v@b50dy=pT=i)`601 zKfG$57z|?eK%7M#2vzMcv9J96f{D+OugDis4=4r5Ie&~Tfb34vmD`2F@>gSvK}`wE z_UN4D`6+F`#f;N{N4ccJ9)RdohAOxdBqJaEYuRK~U{|V!ZXV3o(9mjaa@+IvUkaCQ znH1g_*g8$o&DHPJb>Z$taG4qUqL~w^zt{*<@OK!*m6fkif78`aNvu$+0F$vJ43(pc<&#_mox0L)_d7(@g3oA2G%s{ehl<$`~-_ zANdJGIUg}QL2{~_UsdqgUW6#kRA}rC+H&P(1pVl;_Fl@D6Qv%2z-)FbDchL98VH34y4kD&GZQwg=tQL7(vV_owLu*_yL^4-mF%Ydhtd%Pa^J z1<>)zr((dZtP2RnI;*4AsDz;*QHzqp;31iJLtG3jEG!s@XDb+v1yxyy1P*_Dcza_K ze>?z0sASC|R}!Wxq8xPodV+Fub5nVU?+hXW$w*;=ZTP|x(zai&Rt605r03bK=(Myn zHC0vT()W^lT2bK!C3m4~|B<^m>4DyypeCht}oOcBN82nDA zep2`BS;K0alGOAXXxTFH2;x}eEK&e+uWm0>DQCGwz|tgs&%|w(Zv957XqCe1P(qTC zB;8;7T#d1`+aUl}*4Ea79P2?QBE=gu%`6DTsyFhKd8HR*EUkh901+* zLnFnXOtgVMY80S+0Aolb5FL8<=a$&<>;$~w?*e)&zlVzV>tNOxo<;_pS^QKF zcFEl2;{u0=8)@ETUG>Sc9hbnhmL3jw;|Gge4Z-(q>zuE_;h${`|52%bzS;ho;a~Q~ z%wL9sfL;FYW+eX;??(M)>Ax)fAFFl#a=yQu?|-B7DWJFVYX8Q%|M>v`t{`xG$L}jn HUP}3I*s(!* literal 0 HcmV?d00001 diff --git a/packages/core/src/components/dropdown/test/default/secondary/darkmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-secondary-darkmode-focusElement-method-focus-and-opens-the-dropdown-list-1-linux.png b/packages/core/src/components/dropdown/test/default/secondary/darkmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-secondary-darkmode-focusElement-method-focus-and-opens-the-dropdown-list-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..109e0c6dc9db0deb39b84e672b113c30170d9a7c GIT binary patch literal 11214 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 R2Hwvg4))F$N#FhW;GgrC_k{oe literal 0 HcmV?d00001 diff --git a/packages/core/src/components/dropdown/test/default/secondary/darkmode/index.html b/packages/core/src/components/dropdown/test/default/secondary/darkmode/index.html new file mode 100644 index 000000000..ef8edc749 --- /dev/null +++ b/packages/core/src/components/dropdown/test/default/secondary/darkmode/index.html @@ -0,0 +1,32 @@ + + + + + Dropdown - Default + + + + + + + + Option 1 + Option 2 + Option 3 + Option 4 + + + diff --git a/packages/core/src/components/dropdown/test/default/secondary/lightmode/dropdown.e2e.ts b/packages/core/src/components/dropdown/test/default/secondary/lightmode/dropdown.e2e.ts new file mode 100644 index 000000000..951e0370f --- /dev/null +++ b/packages/core/src/components/dropdown/test/default/secondary/lightmode/dropdown.e2e.ts @@ -0,0 +1,74 @@ +import { test } from 'stencil-playwright'; +import { expect } from '@playwright/test'; + +const componentTestPath = 'src/components/dropdown/test/default/secondary/lightmode/index.html'; + +test.describe.parallel('tds-dropdown-default-secondary-lightmode', () => { + test.beforeEach(async ({ page }) => { + await page.goto(componentTestPath); + }); + + test('renders default dropdown correctly', async ({ page }) => { + const dropdown = page.getByTestId('tds-dropdown-testid'); + await expect(dropdown).toHaveCount(1); + + /* check diff in screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); + + test('clicking the dropdown button opens the dropdown-list', async ({ page }) => { + const dropdownButton = page.getByRole('button', { name: 'Placeholder' }); + const dropdownListElementOne = page + .locator('tds-dropdown-option') + .filter({ hasText: 'Option 1' }); + await expect(dropdownListElementOne).toBeHidden(); + await dropdownButton.click(); + + /* before clicking dropdownlist should not be visible, the button should be */ + await expect(dropdownButton).toBeVisible(); + await expect(dropdownListElementOne).toBeVisible(); + + /* checks diff on screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); + + test('clicking the dropdown opens the dropdown-list, then click Option 1', async ({ page }) => { + /* click the dropdown button */ + const dropdownButton = page.getByRole('button', { name: 'Placeholder' }); + await dropdownButton.click(); + + /* Click the Option 1 button */ + const dropdownListElementOneButton = page + .locator('tds-dropdown-option') + .filter({ hasText: /Option 1/ }) + .getByRole('button'); + await dropdownListElementOneButton.click(); + + await expect(dropdownListElementOneButton).toBeHidden(); + const dropdownButtonWithOption1 = page.getByRole('button', { name: 'Option 1' }); + await expect(dropdownButtonWithOption1.first()).toBeVisible(); + + /* also check screenshot diff to make sure it says Option 1 */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); + + test('focusElement() method focus and opens the dropdown-list', async ({ page }) => { + const dropdownButton = page.getByRole('button').first(); + const dropdownListElementOne = page + .locator('tds-dropdown-option') + .filter({ hasText: 'Option 1' }); + await expect(dropdownListElementOne).toBeHidden(); + + await page.evaluate(() => { + const dropdownnew = document.querySelector('tds-dropdown'); + dropdownnew.focusElement(); + }); + + /* before clicking dropdownlist should not be visible, the button should be */ + await expect(dropdownButton).toBeVisible(); + await expect(dropdownListElementOne).toBeVisible(); + + /* checks diff on screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); +}); diff --git a/packages/core/src/components/dropdown/test/default/secondary/lightmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-secondary-lightmode-click-ec84f--opens-the-dropdown-list-then-click-Option-1-1-linux.png b/packages/core/src/components/dropdown/test/default/secondary/lightmode/dropdown.e2e.ts-snapshots/tds-dropdown-default-secondary-lightmode-click-ec84f--opens-the-dropdown-list-then-click-Option-1-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..b91a774d8dd500e5c2224cd5fbd9455a79a36f77 GIT binary patch literal 7193 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 AA^-pY literal 0 HcmV?d00001 diff --git a/packages/core/src/components/dropdown/test/default/secondary/lightmode/index.html b/packages/core/src/components/dropdown/test/default/secondary/lightmode/index.html new file mode 100644 index 000000000..ae7a93e99 --- /dev/null +++ b/packages/core/src/components/dropdown/test/default/secondary/lightmode/index.html @@ -0,0 +1,32 @@ + + + + + Dropdown - Default + + + + + + + + Option 1 + Option 2 + Option 3 + Option 4 + + + diff --git a/packages/core/src/components/dropdown/test/default/dropdown.e2e.ts b/packages/core/src/components/dropdown/test/default/unspecified/dropdown.e2e.ts similarity index 93% rename from packages/core/src/components/dropdown/test/default/dropdown.e2e.ts rename to packages/core/src/components/dropdown/test/default/unspecified/dropdown.e2e.ts index fcaa30b45..43dd2b7f7 100644 --- a/packages/core/src/components/dropdown/test/default/dropdown.e2e.ts +++ b/packages/core/src/components/dropdown/test/default/unspecified/dropdown.e2e.ts @@ -1,11 +1,14 @@ import { test } from 'stencil-playwright'; import { expect } from '@playwright/test'; -const componentTestPath = 'src/components/dropdown/test/default/index.html'; +const componentTestPath = 'src/components/dropdown/test/default/unspecified/index.html'; test.describe.parallel('tds-dropdown-default', () => { - test('renders default dropdown correctly', async ({ page }) => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + + test('renders default dropdown correctly', async ({ page }) => { const dropdown = page.getByTestId('tds-dropdown-testid'); await expect(dropdown).toHaveCount(1); @@ -14,25 +17,21 @@ test.describe.parallel('tds-dropdown-default', () => { }); test('should find label and be visible', async ({ page }) => { - await page.goto(componentTestPath); const labelText = page.getByText(/Label text/); await expect(labelText).toBeVisible(); }); test('find helper text and check if visible', async ({ page }) => { - await page.goto(componentTestPath); const helperText = page.getByText(/Helper text/); await expect(helperText).toBeVisible(); }); test('have the placeholder="Placeholder" text', async ({ page }) => { - await page.goto(componentTestPath); const dropdownButton = page.getByRole('button', { name: 'Placeholder' }); await expect(dropdownButton).toBeVisible(); }); test('clicking the dropdown button opens the dropdown-list', async ({ page }) => { - await page.goto(componentTestPath); const dropdownButton = page.getByRole('button', { name: 'Placeholder' }); const dropdownListElementOne = page .locator('tds-dropdown-option') @@ -49,8 +48,6 @@ test.describe.parallel('tds-dropdown-default', () => { }); test('clicking the dropdown opens the dropdown-list, then click Option 1', async ({ page }) => { - await page.goto(componentTestPath); - /* click the dropdown button */ const dropdownButton = page.getByRole('button', { name: 'Placeholder' }); await dropdownButton.click(); @@ -73,7 +70,6 @@ test.describe.parallel('tds-dropdown-default', () => { test('clicking the dropdown opens the dropdown-list, then click an option 2 that is disabled should not close it', async ({ page, }) => { - await page.goto(componentTestPath); const dropdownListElementTwoButton = page .locator('tds-dropdown-option') .filter({ hasText: /Option 2/ }); @@ -94,7 +90,6 @@ test.describe.parallel('tds-dropdown-default', () => { await expect(dropdownListElementTwoButton).toBeVisible(); }); test('focusElement() method focus and opens the dropdown-list', async ({ page }) => { - await page.goto(componentTestPath); const dropdownButton = page.getByRole('button').first(); const dropdownListElementOne = page .locator('tds-dropdown-option') diff --git a/packages/core/src/components/dropdown/test/default/dropdown.e2e.ts-snapshots/tds-dropdown-default-clicking-the-dropdown-button-opens-the-dropdown-list-1-linux.png b/packages/core/src/components/dropdown/test/default/unspecified/dropdown.e2e.ts-snapshots/tds-dropdown-default-clicking-the-dropdown-button-opens-the-dropdown-list-1-linux.png similarity index 100% rename from packages/core/src/components/dropdown/test/default/dropdown.e2e.ts-snapshots/tds-dropdown-default-clicking-the-dropdown-button-opens-the-dropdown-list-1-linux.png rename to packages/core/src/components/dropdown/test/default/unspecified/dropdown.e2e.ts-snapshots/tds-dropdown-default-clicking-the-dropdown-button-opens-the-dropdown-list-1-linux.png diff --git a/packages/core/src/components/dropdown/test/default/dropdown.e2e.ts-snapshots/tds-dropdown-default-clicking-the-dropdown-opens-the-dropdown-list-then-click-Option-1-1-linux.png b/packages/core/src/components/dropdown/test/default/unspecified/dropdown.e2e.ts-snapshots/tds-dropdown-default-clicking-the-dropdown-opens-the-dropdown-list-then-click-Option-1-1-linux.png similarity index 100% rename from packages/core/src/components/dropdown/test/default/dropdown.e2e.ts-snapshots/tds-dropdown-default-clicking-the-dropdown-opens-the-dropdown-list-then-click-Option-1-1-linux.png rename to packages/core/src/components/dropdown/test/default/unspecified/dropdown.e2e.ts-snapshots/tds-dropdown-default-clicking-the-dropdown-opens-the-dropdown-list-then-click-Option-1-1-linux.png diff --git a/packages/core/src/components/dropdown/test/default/dropdown.e2e.ts-snapshots/tds-dropdown-default-focusElement-method-focus-and-opens-the-dropdown-list-1-linux.png b/packages/core/src/components/dropdown/test/default/unspecified/dropdown.e2e.ts-snapshots/tds-dropdown-default-focusElement-method-focus-and-opens-the-dropdown-list-1-linux.png similarity index 100% rename from packages/core/src/components/dropdown/test/default/dropdown.e2e.ts-snapshots/tds-dropdown-default-focusElement-method-focus-and-opens-the-dropdown-list-1-linux.png rename to packages/core/src/components/dropdown/test/default/unspecified/dropdown.e2e.ts-snapshots/tds-dropdown-default-focusElement-method-focus-and-opens-the-dropdown-list-1-linux.png diff --git a/packages/core/src/components/dropdown/test/default/dropdown.e2e.ts-snapshots/tds-dropdown-default-renders-default-dropdown-correctly-1-linux.png b/packages/core/src/components/dropdown/test/default/unspecified/dropdown.e2e.ts-snapshots/tds-dropdown-default-renders-default-dropdown-correctly-1-linux.png similarity index 100% rename from packages/core/src/components/dropdown/test/default/dropdown.e2e.ts-snapshots/tds-dropdown-default-renders-default-dropdown-correctly-1-linux.png rename to packages/core/src/components/dropdown/test/default/unspecified/dropdown.e2e.ts-snapshots/tds-dropdown-default-renders-default-dropdown-correctly-1-linux.png diff --git a/packages/core/src/components/dropdown/test/default/index.html b/packages/core/src/components/dropdown/test/default/unspecified/index.html similarity index 84% rename from packages/core/src/components/dropdown/test/default/index.html rename to packages/core/src/components/dropdown/test/default/unspecified/index.html index 910905d34..79cbf84bc 100644 --- a/packages/core/src/components/dropdown/test/default/index.html +++ b/packages/core/src/components/dropdown/test/default/unspecified/index.html @@ -4,9 +4,9 @@ Dropdown - Default - + diff --git a/packages/core/src/components/dropdown/test/error/dropdown.e2e.ts b/packages/core/src/components/dropdown/test/error/dropdown.e2e.ts index 740aee41e..a0f1f3c93 100644 --- a/packages/core/src/components/dropdown/test/error/dropdown.e2e.ts +++ b/packages/core/src/components/dropdown/test/error/dropdown.e2e.ts @@ -4,8 +4,11 @@ import { expect } from '@playwright/test'; const componentTestPath = 'src/components/dropdown/test/error/index.html'; test.describe.parallel('tds-dropdown-error', () => { - test('renders error dropdown correctly', async ({ page }) => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + + test('renders error dropdown correctly', async ({ page }) => { const dropdown = page.getByTestId('tds-dropdown-testid'); await expect(dropdown).toHaveCount(1); @@ -14,7 +17,6 @@ test.describe.parallel('tds-dropdown-error', () => { }); test('find helper text and check if visible and have icon', async ({ page }) => { - await page.goto(componentTestPath); const helperText = page.getByText(/Helper text/); await expect(helperText).toBeVisible(); const helperTextIcon = helperText.getByRole('img'); @@ -22,7 +24,6 @@ test.describe.parallel('tds-dropdown-error', () => { }); test('clicking the dropdown opens the dropdown-list', async ({ page }) => { - await page.goto(componentTestPath); const dropdownListElementOneButton = page .locator('tds-dropdown-option') .filter({ hasText: /Option 1/ }) diff --git a/packages/core/src/components/dropdown/test/filter/disabled/dropdown.e2e.ts b/packages/core/src/components/dropdown/test/filter/disabled/dropdown.e2e.ts index 1c0d84072..7547fb14c 100644 --- a/packages/core/src/components/dropdown/test/filter/disabled/dropdown.e2e.ts +++ b/packages/core/src/components/dropdown/test/filter/disabled/dropdown.e2e.ts @@ -4,8 +4,11 @@ import { expect } from '@playwright/test'; const componentTestPath = 'src/components/dropdown/test/filter/disabled/index.html'; test.describe('tds-dropdown-filter-disabled', () => { - test('clicking the dropdown icon does not open the dropdown-list', async ({ page }) => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + + test('clicking the dropdown icon does not open the dropdown-list', async ({ page }) => { const dropdownButtonIcon = page.locator('.menu-icon'); const dropdownListElementOne = page @@ -24,7 +27,6 @@ test.describe('tds-dropdown-filter-disabled', () => { await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); }); test('clicking the dropdown button does not open the dropdown-list', async ({ page }) => { - await page.goto(componentTestPath); const dropdownButton = page.getByRole('textbox').first(); /* check that the icon is inside of a disabled element */ diff --git a/packages/core/src/components/dropdown/test/filter/dropdown.e2e.ts b/packages/core/src/components/dropdown/test/filter/dropdown.e2e.ts index 2a417af88..1a30f576d 100644 --- a/packages/core/src/components/dropdown/test/filter/dropdown.e2e.ts +++ b/packages/core/src/components/dropdown/test/filter/dropdown.e2e.ts @@ -4,8 +4,11 @@ import { expect } from '@playwright/test'; const componentTestPath = 'src/components/dropdown/test/filter/index.html'; test.describe.parallel('tds-dropdown-filter', () => { - test('renders filter dropdown correctly', async ({ page }) => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + + test('renders filter dropdown correctly', async ({ page }) => { const dropdown = page.getByTestId('tds-dropdown-testid'); await expect(dropdown).toHaveCount(1); @@ -16,8 +19,6 @@ test.describe.parallel('tds-dropdown-filter', () => { test('clicking the dropdown opens the dropdown-list, then start typing "iles" to only show that option in the dropdown list', async ({ page, }) => { - await page.goto(componentTestPath); - const inputElement = page.getByRole('textbox'); const dropdownListElementOneButton = page .locator('tds-dropdown-option') @@ -75,8 +76,6 @@ test.describe.parallel('tds-dropdown-filter', () => { }); test('reset button icon appears when typing in the filter input', async ({ page }) => { - await page.goto(componentTestPath); - const inputElement = page.getByRole('textbox'); const resetButton = page.locator('tds-icon[name="cross"]'); @@ -98,8 +97,6 @@ test.describe.parallel('tds-dropdown-filter', () => { }); test('toggle dropdown visibility and select option two', async ({ page }) => { - await page.goto(componentTestPath); - const inputElement = page.getByRole('textbox'); const dropdownListElementTwoButton = page .locator('tds-dropdown-option') diff --git a/packages/core/src/components/dropdown/test/filter/hide-no-result-message/dropdown.e2e.ts b/packages/core/src/components/dropdown/test/filter/hide-no-result-message/dropdown.e2e.ts index 243218ab0..005b5998c 100644 --- a/packages/core/src/components/dropdown/test/filter/hide-no-result-message/dropdown.e2e.ts +++ b/packages/core/src/components/dropdown/test/filter/hide-no-result-message/dropdown.e2e.ts @@ -4,8 +4,11 @@ import { expect } from '@playwright/test'; const componentTestPath = 'src/components/dropdown/test/filter/hide-no-result-message/index.html'; test.describe('tds-dropdown-filter', () => { - test('renders filter dropdown correctly', async ({ page }) => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + + test('renders filter dropdown correctly', async ({ page }) => { const dropdown = page.getByTestId('tds-dropdown-testid'); await expect(dropdown).toHaveCount(1); @@ -14,8 +17,6 @@ test.describe('tds-dropdown-filter', () => { }); test('typing non existing value does not show "No results!" message', async ({ page }) => { - await page.goto(componentTestPath); - const inputElement = page.getByRole('textbox'); /* Add text and only Option 1 should be visible */ diff --git a/packages/core/src/components/dropdown/test/filter/normalize-text-false/dropdown.e2e.ts b/packages/core/src/components/dropdown/test/filter/normalize-text-false/dropdown.e2e.ts index a04401976..fe164793c 100644 --- a/packages/core/src/components/dropdown/test/filter/normalize-text-false/dropdown.e2e.ts +++ b/packages/core/src/components/dropdown/test/filter/normalize-text-false/dropdown.e2e.ts @@ -4,8 +4,11 @@ import { expect } from '@playwright/test'; const componentTestPath = 'src/components/dropdown/test/filter/normalize-text-false/index.html'; test.describe('tds-dropdown-filter', () => { - test('renders filter dropdown correctly', async ({ page }) => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + + test('renders filter dropdown correctly', async ({ page }) => { const dropdown = page.getByTestId('tds-dropdown-testid'); await expect(dropdown).toHaveCount(1); @@ -16,8 +19,6 @@ test.describe('tds-dropdown-filter', () => { test('typing "iles" should not show anything in dropdown with normalize text set to false', async ({ page, }) => { - await page.goto(componentTestPath); - const inputElement = page.getByRole('textbox'); const dropdownListElementOneButton = page .locator('tds-dropdown-option') diff --git a/packages/core/src/components/dropdown/test/multiselect-filter/dropdown.e2e.ts b/packages/core/src/components/dropdown/test/multiselect-filter/dropdown.e2e.ts index d79678822..f1448f6f3 100644 --- a/packages/core/src/components/dropdown/test/multiselect-filter/dropdown.e2e.ts +++ b/packages/core/src/components/dropdown/test/multiselect-filter/dropdown.e2e.ts @@ -4,9 +4,11 @@ import { expect } from '@playwright/test'; const componentTestPath = 'src/components/dropdown/test/multiselect-filter/index.html'; test.describe.parallel('tds-dropdown-multiselect-filter', () => { - test('When focusing on the input it should clear itself', async ({ page }) => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + test('When focusing on the input it should clear itself', async ({ page }) => { // Click the dropdown button const dropdownButton = page.locator('tds-icon[aria-label="Open/Close dropdown"]'); await dropdownButton.click(); diff --git a/packages/core/src/components/dropdown/test/multiselect/disabled/dropdown.e2e.ts b/packages/core/src/components/dropdown/test/multiselect/disabled/dropdown.e2e.ts index 83e9ac4a7..58d4c431c 100644 --- a/packages/core/src/components/dropdown/test/multiselect/disabled/dropdown.e2e.ts +++ b/packages/core/src/components/dropdown/test/multiselect/disabled/dropdown.e2e.ts @@ -4,8 +4,11 @@ import { expect } from '@playwright/test'; const componentTestPath = 'src/components/dropdown/test/multiselect/disabled/index.html'; test.describe('tds-dropdown-multiselect-disabled', () => { - test('clicking the dropdown icon does not open the dropdown-list', async ({ page }) => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + + test('clicking the dropdown icon does not open the dropdown-list', async ({ page }) => { const dropdownButtonIcon = page.locator('tds-icon'); const dropdownListElementOne = page @@ -24,7 +27,6 @@ test.describe('tds-dropdown-multiselect-disabled', () => { await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); }); test('clicking the dropdown button does not open the dropdown-list', async ({ page }) => { - await page.goto(componentTestPath); const dropdownButton = page.getByRole('button').first(); /* check that the icon is inside of a disabled element */ diff --git a/packages/core/src/components/dropdown/test/multiselect/dropdown.e2e.ts b/packages/core/src/components/dropdown/test/multiselect/dropdown.e2e.ts index 88cefa2cd..e38e2d285 100644 --- a/packages/core/src/components/dropdown/test/multiselect/dropdown.e2e.ts +++ b/packages/core/src/components/dropdown/test/multiselect/dropdown.e2e.ts @@ -4,8 +4,11 @@ import { expect } from '@playwright/test'; const componentTestPath = 'src/components/dropdown/test/multiselect/index.html'; test.describe.parallel('tds-dropdown-multiselect', () => { - test('renders multiselect dropdown correctly', async ({ page }) => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + + test('renders multiselect dropdown correctly', async ({ page }) => { const dropdown = page.getByTestId('tds-dropdown-testid'); await expect(dropdown).toHaveCount(1); @@ -16,8 +19,6 @@ test.describe.parallel('tds-dropdown-multiselect', () => { test('clicking the dropdown opens the dropdown-list, then click Option 1, should not close it', async ({ page, }) => { - await page.goto(componentTestPath); - /* click the dropdown button */ const dropdownButton = page.getByRole('button', { name: 'Placeholder' }); await dropdownButton.click(); @@ -39,8 +40,6 @@ test.describe.parallel('tds-dropdown-multiselect', () => { test('clicking the dropdown opens the dropdown-list, then click on all the options', async ({ page, }) => { - await page.goto(componentTestPath); - /* click the button */ const dropdownButton = page.getByRole('button', { name: 'Placeholder' }); await dropdownButton.click(); From e5cef39ccc52880377b0bb9f4317ea63896da1aa Mon Sep 17 00:00:00 2001 From: Max Skanvik <179694889+max-umain@users.noreply.github.com> Date: Mon, 16 Dec 2024 16:06:55 +0100 Subject: [PATCH 5/6] test(divider): refactor and update horizontal screenshot tests (#912) * test(divider): refactor and update existing horizontal lightmode and darkmode tests * test(divider): refactor tests to use beforeEach for page navigation --- .../darkmode/divider.e2e.ts} | 8 +++++--- ...-render-a-divider-in-darkmode-1-linux.png} | Bin 4371 -> 4371 bytes .../test/{ => horizontal}/darkmode/index.html | 8 ++++---- .../divider/test/horizontal/divider.e2e.ts | 18 ------------------ .../test/horizontal/lightmode/divider.e2e.ts | 15 +++++++++++++++ ...render-a-divider-in-lightmode-1-linux.png} | Bin 4361 -> 4360 bytes .../horizontal/{ => lightmode}/index.html | 8 ++++---- .../divider/test/vertical/divider.e2e.ts | 4 +++- 8 files changed, 31 insertions(+), 30 deletions(-) rename packages/core/src/components/divider/test/{darkmode/darkmode.e2e.ts => horizontal/darkmode/divider.e2e.ts} (61%) rename packages/core/src/components/divider/test/{darkmode/darkmode.e2e.ts-snapshots/tds-divider-expect-to-render-a-divider-in-darkmode-1-linux.png => horizontal/darkmode/divider.e2e.ts-snapshots/tds-divider-darkmode-expect-to-render-a-divider-in-darkmode-1-linux.png} (82%) rename packages/core/src/components/divider/test/{ => horizontal}/darkmode/index.html (52%) delete mode 100644 packages/core/src/components/divider/test/horizontal/divider.e2e.ts create mode 100644 packages/core/src/components/divider/test/horizontal/lightmode/divider.e2e.ts rename packages/core/src/components/divider/test/horizontal/{divider.e2e.ts-snapshots/tds-divider-expect-to-render-a-horizontal-divider-1-linux.png => lightmode/divider.e2e.ts-snapshots/tds-divider-lightmode-expect-to-render-a-divider-in-lightmode-1-linux.png} (70%) rename packages/core/src/components/divider/test/horizontal/{ => lightmode}/index.html (57%) diff --git a/packages/core/src/components/divider/test/darkmode/darkmode.e2e.ts b/packages/core/src/components/divider/test/horizontal/darkmode/divider.e2e.ts similarity index 61% rename from packages/core/src/components/divider/test/darkmode/darkmode.e2e.ts rename to packages/core/src/components/divider/test/horizontal/darkmode/divider.e2e.ts index 0a24acc20..23bdf1b3a 100644 --- a/packages/core/src/components/divider/test/darkmode/darkmode.e2e.ts +++ b/packages/core/src/components/divider/test/horizontal/darkmode/divider.e2e.ts @@ -1,12 +1,14 @@ import { test } from 'stencil-playwright'; import { expect } from '@playwright/test'; -const componentTestPath = 'src/components/divider/test/darkmode/index.html'; +const componentTestPath = 'src/components/divider/test/horizontal/darkmode/index.html'; -test.describe.parallel('tds-divider', () => { - test('expect to render a divider in darkmode', async ({ page }) => { +test.describe.parallel('tds-divider-darkmode', () => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + test('expect to render a divider in darkmode', async ({ page }) => { /* Check diff on screenshot */ await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); }); diff --git a/packages/core/src/components/divider/test/darkmode/darkmode.e2e.ts-snapshots/tds-divider-expect-to-render-a-divider-in-darkmode-1-linux.png b/packages/core/src/components/divider/test/horizontal/darkmode/divider.e2e.ts-snapshots/tds-divider-darkmode-expect-to-render-a-divider-in-darkmode-1-linux.png similarity index 82% rename from packages/core/src/components/divider/test/darkmode/darkmode.e2e.ts-snapshots/tds-divider-expect-to-render-a-divider-in-darkmode-1-linux.png rename to packages/core/src/components/divider/test/horizontal/darkmode/divider.e2e.ts-snapshots/tds-divider-darkmode-expect-to-render-a-divider-in-darkmode-1-linux.png index b5558363e7d57c19c186f8f23d4cc1dccc8a8276..ca411e34959b4bd023a476b9dabb2df07f4c61de 100644 GIT binary patch delta 58 zcmbQNG+AjwG9!`MSxqtU>SXTy= OXYh3Ob6Mw<&;$Tc-xJ^f delta 53 zcmbQNG+AjwGUMh4On2FM+EOFG-D3a(`RA;g8yPoph&|*K^5Fjc?@r5nkg%t#pUXO@ GgeCwRR1;$W diff --git a/packages/core/src/components/divider/test/darkmode/index.html b/packages/core/src/components/divider/test/horizontal/darkmode/index.html similarity index 52% rename from packages/core/src/components/divider/test/darkmode/index.html rename to packages/core/src/components/divider/test/horizontal/darkmode/index.html index aa0c7d117..82e1fb230 100644 --- a/packages/core/src/components/divider/test/darkmode/index.html +++ b/packages/core/src/components/divider/test/horizontal/darkmode/index.html @@ -2,16 +2,16 @@ - Divider - Horizontal, dark mode + Divider - Horizontal, darkmode - + - + diff --git a/packages/core/src/components/divider/test/horizontal/divider.e2e.ts b/packages/core/src/components/divider/test/horizontal/divider.e2e.ts deleted file mode 100644 index a4b714290..000000000 --- a/packages/core/src/components/divider/test/horizontal/divider.e2e.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { test } from 'stencil-playwright'; -import { expect } from '@playwright/test'; - -const componentTestPath = 'src/components/divider/test/horizontal/index.html'; - -test.describe.parallel('tds-divider', () => { - test('expect to render a horizontal divider', async ({ page }) => { - await page.goto(componentTestPath); - - // expect width to be greater than height - const divider = page.getByTestId('divider').locator('div.divider').first(); - const box = await divider.boundingBox(); - expect(box.width).toBeGreaterThan(box.height); - - /* Check diff on screenshot */ - await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); - }); -}); diff --git a/packages/core/src/components/divider/test/horizontal/lightmode/divider.e2e.ts b/packages/core/src/components/divider/test/horizontal/lightmode/divider.e2e.ts new file mode 100644 index 000000000..438cd9995 --- /dev/null +++ b/packages/core/src/components/divider/test/horizontal/lightmode/divider.e2e.ts @@ -0,0 +1,15 @@ +import { test } from 'stencil-playwright'; +import { expect } from '@playwright/test'; + +const componentTestPath = 'src/components/divider/test/horizontal/lightmode/index.html'; + +test.describe.parallel('tds-divider-lightmode', () => { + test.beforeEach(async ({ page }) => { + await page.goto(componentTestPath); + }); + + test('expect to render a divider in lightmode', async ({ page }) => { + /* Check diff on screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); +}); diff --git a/packages/core/src/components/divider/test/horizontal/divider.e2e.ts-snapshots/tds-divider-expect-to-render-a-horizontal-divider-1-linux.png b/packages/core/src/components/divider/test/horizontal/lightmode/divider.e2e.ts-snapshots/tds-divider-lightmode-expect-to-render-a-divider-in-lightmode-1-linux.png similarity index 70% rename from packages/core/src/components/divider/test/horizontal/divider.e2e.ts-snapshots/tds-divider-expect-to-render-a-horizontal-divider-1-linux.png rename to packages/core/src/components/divider/test/horizontal/lightmode/divider.e2e.ts-snapshots/tds-divider-lightmode-expect-to-render-a-divider-in-lightmode-1-linux.png index 88935139ca1f60eef672a11fe226b6d760b7ad0b..9dd2725e50994c72e4d226a0e03f047276734f13 100644 GIT binary patch delta 129 zcmeBF>QI_sXmQBX#WAE}&f8lXIhhy*Tpj&$4xKshPkYyaH>V=J1-=CAG@q>h=gUDo z<60a8G%yb@3z0bz5Vo=H&$#w1^*_BXKWT^ fdd# delta 130 zcmeBB>QtIwXnxq!#WAE}&f8l%d6@zQSRKVCvdFRhbl<`zm&jwN(5L@GtA5GzZ6>$R z$S^Q4Jh(3#&JUy;@+TWIWy$-kmwCVa_wQ*8{=4JOtyX7XIB@<(TH04Opo$+B`WH4& iWJ==Oe1T~pqo|zKUcTAJvT;X&QVgE1elF{r5}E*Q7BB4p diff --git a/packages/core/src/components/divider/test/horizontal/index.html b/packages/core/src/components/divider/test/horizontal/lightmode/index.html similarity index 57% rename from packages/core/src/components/divider/test/horizontal/index.html rename to packages/core/src/components/divider/test/horizontal/lightmode/index.html index 70c74ef4c..826721f20 100644 --- a/packages/core/src/components/divider/test/horizontal/index.html +++ b/packages/core/src/components/divider/test/horizontal/lightmode/index.html @@ -2,16 +2,16 @@ - Divider - Horizontal + Divider - Horizontal, lightmode - + - + diff --git a/packages/core/src/components/divider/test/vertical/divider.e2e.ts b/packages/core/src/components/divider/test/vertical/divider.e2e.ts index acf327279..2e9eb07ef 100644 --- a/packages/core/src/components/divider/test/vertical/divider.e2e.ts +++ b/packages/core/src/components/divider/test/vertical/divider.e2e.ts @@ -4,9 +4,11 @@ import { expect } from '@playwright/test'; const componentTestPath = 'src/components/divider/test/vertical/index.html'; test.describe.parallel('tds-divider', () => { - test('expect to render a vertical divider', async ({ page }) => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + test('expect to render a vertical divider', async ({ page }) => { // expect height to be greater than width const divider = page.getByTestId('divider').locator('div.divider').first(); const box = await divider.boundingBox(); From 34583ce90973ad5224e2683d044620f34ee7b674 Mon Sep 17 00:00:00 2001 From: Max Skanvik <179694889+max-umain@users.noreply.github.com> Date: Mon, 16 Dec 2024 16:07:22 +0100 Subject: [PATCH 6/6] test(button): add secondary variant darkmode and lightmode screenshot tests (#900) * test(button): move existing secondary test to unspecified * test(button): add primary and secondary mode variant tests for secondary variant * test(button): refactor secondary variant tests to use beforeEach for page navigation * test(button): add padding for new secondary variant tests * test(button): fix imports of css variables for secondary variant * test(button): improve structure for secondary variant --- .../secondary/primary/darkmode/button.e2e.ts | 18 ++++++++++++++ ...ers-secondary-button-correctly-1-linux.png | Bin 0 -> 5450 bytes .../secondary/primary/darkmode/index.html | 23 ++++++++++++++++++ .../secondary/primary/lightmode/button.e2e.ts | 18 ++++++++++++++ ...ers-secondary-button-correctly-1-linux.png | Bin 0 -> 5300 bytes .../secondary/primary/lightmode/index.html | 23 ++++++++++++++++++ .../secondary/darkmode/button.e2e.ts | 18 ++++++++++++++ ...ers-secondary-button-correctly-1-linux.png | Bin 0 -> 5466 bytes .../secondary/secondary/darkmode/index.html | 23 ++++++++++++++++++ .../secondary/lightmode/button.e2e.ts | 18 ++++++++++++++ ...ers-secondary-button-correctly-1-linux.png | Bin 0 -> 5393 bytes .../secondary/secondary/lightmode/index.html | 23 ++++++++++++++++++ .../secondary/{ => unspecified}/button.e2e.ts | 8 +++--- ...ers-secondary-button-correctly-1-linux.png | Bin .../secondary/{ => unspecified}/index.html | 0 15 files changed, 169 insertions(+), 3 deletions(-) create mode 100644 packages/core/src/components/button/test/secondary/primary/darkmode/button.e2e.ts create mode 100644 packages/core/src/components/button/test/secondary/primary/darkmode/button.e2e.ts-snapshots/tds-button-secondary-primary-darkmode-renders-secondary-button-correctly-1-linux.png create mode 100644 packages/core/src/components/button/test/secondary/primary/darkmode/index.html create mode 100644 packages/core/src/components/button/test/secondary/primary/lightmode/button.e2e.ts create mode 100644 packages/core/src/components/button/test/secondary/primary/lightmode/button.e2e.ts-snapshots/tds-button-secondary-primary-lightmode-renders-secondary-button-correctly-1-linux.png create mode 100644 packages/core/src/components/button/test/secondary/primary/lightmode/index.html create mode 100644 packages/core/src/components/button/test/secondary/secondary/darkmode/button.e2e.ts create mode 100644 packages/core/src/components/button/test/secondary/secondary/darkmode/button.e2e.ts-snapshots/tds-button-secondary-secondary-darkmode-renders-secondary-button-correctly-1-linux.png create mode 100644 packages/core/src/components/button/test/secondary/secondary/darkmode/index.html create mode 100644 packages/core/src/components/button/test/secondary/secondary/lightmode/button.e2e.ts create mode 100644 packages/core/src/components/button/test/secondary/secondary/lightmode/button.e2e.ts-snapshots/tds-button-secondary-secondary-lightmode-renders-secondary-button-correctly-1-linux.png create mode 100644 packages/core/src/components/button/test/secondary/secondary/lightmode/index.html rename packages/core/src/components/button/test/secondary/{ => unspecified}/button.e2e.ts (91%) rename packages/core/src/components/button/test/secondary/{ => unspecified}/button.e2e.ts-snapshots/tds-button-secondary-renders-secondary-button-correctly-1-linux.png (100%) rename packages/core/src/components/button/test/secondary/{ => unspecified}/index.html (100%) diff --git a/packages/core/src/components/button/test/secondary/primary/darkmode/button.e2e.ts b/packages/core/src/components/button/test/secondary/primary/darkmode/button.e2e.ts new file mode 100644 index 000000000..c4d124593 --- /dev/null +++ b/packages/core/src/components/button/test/secondary/primary/darkmode/button.e2e.ts @@ -0,0 +1,18 @@ +import { test } from 'stencil-playwright'; +import { expect } from '@playwright/test'; + +const componentTestPath = 'src/components/button/test/secondary/primary/darkmode/index.html'; + +test.describe.parallel('tds-button-secondary-primary-darkmode', () => { + test.beforeEach(async ({ page }) => { + await page.goto(componentTestPath); + }); + + test('renders secondary button correctly', async ({ page }) => { + const button = page.getByTestId('tds-button-testid'); + await expect(button).toHaveCount(1); + + /* Check diff on screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); +}); diff --git a/packages/core/src/components/button/test/secondary/primary/darkmode/button.e2e.ts-snapshots/tds-button-secondary-primary-darkmode-renders-secondary-button-correctly-1-linux.png b/packages/core/src/components/button/test/secondary/primary/darkmode/button.e2e.ts-snapshots/tds-button-secondary-primary-darkmode-renders-secondary-button-correctly-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..7f54b1957dd57ae0ce6ce47fe63030ed969472ef GIT binary patch literal 5450 zcmeI0TTl~M7=TwmPyyp$nSflPwwBV`2@HZ@2xvu-OTk(TB9|bJK#LL~l0-rhlnx97 zXggG(h+!P7)ElVCB?JhF5-A~(n_LruKq3OU5KKr&Ha$#V`r=dZp)=XpIcInF{Fn2e z|Nr*v<{u3UwBEFB69hrlK}Q0PLC|_|Y4U1=3F!8tg4cm=9pPBuH&8XtaTbDX&4L0B z94A*S2%-z`WKi1_q$n5eGoF=vr`LDS50cE$5%n*IEfa!nCk#A4UTp5k*mXB=^vf^G z?|fUh(|Lbz==}pbBDOppNDeJj>@Q3kYYKew9=zctU3E?ru%!)jpKXW-t&N!*Xg8YJ zK~T2YIx8@P%aAz)Z9f13nP0YN1A!y|VK{?W!NHG{#p0gp5^*BmX>;J7zA|jn(>?y| zM;UXkXJ$;N7$AJvzeer#B+O4XrA_^g&+K=g!zlks+;IKVr+fO^I}^Pfc|EC3$=!z< zCSY4@;NBI5AALGOnT9_*Hmdb+zSEcoQkH`TFI z&KAHzuXlA)Ht<1$tS?F}D}MRxS^WreBrP0FuVQ_yE{^YpgRZTrselx}I zk;;cX(lT`pPwh5kH`3K_R6yZEvy$g9=L*u=jW)$JX->?{e1{jVFz{K*Xm(0obgI5j zA8k-#Cg9fu25VMy^I#qVMO$3dhEo%Wsj4TXEm?_~T3qXeIR=)(CU-x~X^-#7wWiZX zLU5XUk$CUZ9THemyH`N&a1btww^9;;{}nNvTieD^qxDVho^^`H`W2kcrBqjqML6xd z5U*(~mX*gvhlPg5q`knkF8)vxcVgJf&MI}8>mR4N((uq+{$te*6^U*@V2JaMR_2wh za3@-*(`+TDuj(%BBv>w0#%cRP;?ie#p_xl(O4$i3s)Zri{HGlG4rGjczN@Rt!npz$ z>n9iG5D2v?bV19?(0vDlK|Fc)Zc$u0NY*WT8DF(wkjO~1L^{q~?!8LWU8%{sIE_nN zdfQud78p9}1((J<(R7Nzq8U>Q^PKjPq)M!v6$4%(3=zq?d=6NR(Ou(pGgq822xs5r z%a)P|y5X`VI;I7=4amb)3Ntx(X^G2SJyCuJ4XRnIpU?}{K#+F>qn3`T86>tcik~UI z7THQYClRoSD4+D{x*APEEwB9IVtV@G5=*MpW(>t*Fs#`_NP}W9vPIV2pdkeV13Kc= zM$v+y?pzw@U;)OtNhU<0(P&)8d(WJ9k*Ga~t{1YY`nl@mF08+9gbxD?Sc;l9KRV~9 z$xksXRM%k7XfCDr>AG?7yF3u@YP$Yiq)a#3gKIpqy9%JAtqU(0;L6Jot=fBPs<`v| z;eGs|=>b0sD8+JxzbPnU$R&F%QS%STIJRve6qQw8N3S)(#(r}ixGAKpvih*N(S%H+ zok}J4zs>c@=kiidmf`HwpMXb&Ty4J#-&>rcUKpcjy3v(oWhbIm5Bu5p(;kkS8_qJ5 zyGsga@*EaOLtkkckg+Su_}+t)flzi9CAFSciUCUq;nyfPQL!h1-bVVr+2$i$ooBWI z*}NXC?#ICF2Oxe*(0eP8g9Xb0>4Z#^HK+Rr%&yV9!>HXD$d9}|F{YR?#f&MoR-1ie wH5sePSWU)i`q)1ejGQrY#>kof6K4$8t_in!Gm;cM_!NbL4uu6&e-nTCZ&Vh8hX4Qo literal 0 HcmV?d00001 diff --git a/packages/core/src/components/button/test/secondary/primary/darkmode/index.html b/packages/core/src/components/button/test/secondary/primary/darkmode/index.html new file mode 100644 index 000000000..442c234f2 --- /dev/null +++ b/packages/core/src/components/button/test/secondary/primary/darkmode/index.html @@ -0,0 +1,23 @@ + + + + + Button - Secondary + + + + + + + + + diff --git a/packages/core/src/components/button/test/secondary/primary/lightmode/button.e2e.ts b/packages/core/src/components/button/test/secondary/primary/lightmode/button.e2e.ts new file mode 100644 index 000000000..3b1b8adf0 --- /dev/null +++ b/packages/core/src/components/button/test/secondary/primary/lightmode/button.e2e.ts @@ -0,0 +1,18 @@ +import { test } from 'stencil-playwright'; +import { expect } from '@playwright/test'; + +const componentTestPath = 'src/components/button/test/secondary/primary/lightmode/index.html'; + +test.describe.parallel('tds-button-secondary-primary-lightmode', () => { + test.beforeEach(async ({ page }) => { + await page.goto(componentTestPath); + }); + + test('renders secondary button correctly', async ({ page }) => { + const button = page.getByTestId('tds-button-testid'); + await expect(button).toHaveCount(1); + + /* Check diff on screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); +}); diff --git a/packages/core/src/components/button/test/secondary/primary/lightmode/button.e2e.ts-snapshots/tds-button-secondary-primary-lightmode-renders-secondary-button-correctly-1-linux.png b/packages/core/src/components/button/test/secondary/primary/lightmode/button.e2e.ts-snapshots/tds-button-secondary-primary-lightmode-renders-secondary-button-correctly-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..8f1547ffb1253b7f0ec39bcafef370ad29925544 GIT binary patch literal 5300 zcmeHLZ&Z?39DXf}@(;G^q-zMBwGEe>v{<2tGCL)iCH*_c(k6CFvnV9dKt-hN95csg z`5U72doW%ASgI#$F_YCv;^EP8d$anbf2Mi`hm`mv5&MB5-AXR2wF``+LmyD zRXeF9=6pMglxYNyR+Rs-Wrn+MO-mUo;^Oz0qTq@Rt6|~SmwnxE(0@twyYQU_dm}Dh z8c3==Tssnwa6L1pI#0Gee`U+(fm5XANO3j(R0hn7Onx&&x31YKUo1rv6> z#&EdF?BMZuk*T6DdbNGW?j*0@{fr)s;3Za8R$45U$JYQ!+|RLX5{aFUQ4I~Xv!=)T z1ZYzIAU#_7MBbRasRm4}s;X*ect03qcPrNz!L6>YhLy?pljDB8v3_#7lSKsxcE=XM zSOg?Lv3}&8?2xy4iP~w_^Znq#E$Z3TGC|+5QG%T<)X>{=RVM*HS?YHH*$=OQ>|frP zc&^lG>ZnOa;PWSD^pB}jDw75BgibaxV606wH$~o-(Z#m+qDl$HbH>t`!W%Uno0jis z_Xp5Dzsj3kuQc7|AxJ`WSkRY9$RdOi~0Mc4eS zg0hbvM->}y4`0F2ln2w&@OdwOi?b>%irA@Bo;thT-XHHY4&6S=94)an?{DJF z+jY&fx4?ROp(0#;+F&rC*k*Yk=AM~}u8m=g50X$N4t*0^(5F-?jYeb3?@u#|PZN-( z&Pg#CjOntC4c3z=C9_ZDnRIOruT?tlc+`+AbVkP*l%qK9 zg_iM(Rp`4{&?&WH{NCZx&Z#cvUAU>!sxmxnb>^%A(pKi1pwUu~J6+5`vDD`*x_+X^ zW$Bn-g~ejU;b4_LTipE2hYAHP{8Zeq%g`!?FD;{R>{-qWEeGZ;{lwgKB$30W(P++T zJ-`*`GIu{7@_NbxYg{D*Oo9Ce&AW!(qN^*Jd)Cq+4-5@ixs@BxFqf z#DG^zVL_&!45G?VjCXU<FItg7NErG(Le??>K|GGTxREYKamrG~$@L;h1)j*z_a z08%prx0UbuK%k*VPk!h{x;ZvLJ(%+;lF!V&8h7j;FP|WTBxIszdm&6zl<4Nok1&|2 zCa2fVg@uJ#Sy^Y!oO#{`=H8-aZ^7Z1dG4N`o~p>y9_@732{j13mbWG}RHxH5#RY;< z9obFZ3I};Y*-O>}r7l3dTi9yqi~fdQOFklfL@w}`k56JgiTNb + + + + Button - Secondary + + + + + + + + + diff --git a/packages/core/src/components/button/test/secondary/secondary/darkmode/button.e2e.ts b/packages/core/src/components/button/test/secondary/secondary/darkmode/button.e2e.ts new file mode 100644 index 000000000..09bd2c551 --- /dev/null +++ b/packages/core/src/components/button/test/secondary/secondary/darkmode/button.e2e.ts @@ -0,0 +1,18 @@ +import { test } from 'stencil-playwright'; +import { expect } from '@playwright/test'; + +const componentTestPath = 'src/components/button/test/secondary/secondary/darkmode/index.html'; + +test.describe.parallel('tds-button-secondary-secondary-darkmode', () => { + test.beforeEach(async ({ page }) => { + await page.goto(componentTestPath); + }); + + test('renders secondary button correctly', async ({ page }) => { + const button = page.getByTestId('tds-button-testid'); + await expect(button).toHaveCount(1); + + /* Check diff on screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); +}); diff --git a/packages/core/src/components/button/test/secondary/secondary/darkmode/button.e2e.ts-snapshots/tds-button-secondary-secondary-darkmode-renders-secondary-button-correctly-1-linux.png b/packages/core/src/components/button/test/secondary/secondary/darkmode/button.e2e.ts-snapshots/tds-button-secondary-secondary-darkmode-renders-secondary-button-correctly-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..2e341f54101e05bc55aad5689e67f40a6f26f184 GIT binary patch literal 5466 zcmeI0X;4#F6vrRb64|Y2r5cDWjG0bt!BUOLW|bPL15vR8r3NgO9fC$egg_9i4n>U? z6=VrIh-pV<5kw%60LmH`EhtL}iHQ(_zyks#Wa0Iu(+_^>7c1ZL<=#7U&pZD!=brPs z@4bwJK6rDJjV2HTnS1T`JPbh}f~DcJ)rMf&jrraHOa|n`_&rcbH+md`*01yO{PqYn ze`+}DzA!$yVV3T2$A*P+MQ!_J$eF;{Qe6B{*^m?cyc0E%v*E~Y&uvftJl;EXb-RG00Ym*~t%F3jL+{J}^BjhdzsgxnN2O-?KIA$?(S6Uw|sp%0?r{zJj z6Pe7}`HCG}MTf9T?!3uXPoGr5S}>i6Ksg+|Nhl$qruWRi`j z65wjuxGN%0N9taSO=0b0QuG;75{A3b;#8>WyGr~FI4#2Ex-=YUY3;9@D*cKr9Q8JC>tcd_U%2uyZ(hANA-gPS0u)DMHkqZ8Q}z)=Q!eAZ8JpV(3Zv&LF%j+J}SM@ z94AQB#`oK{W`eU6d47|Nztxk}92Jx}vgF_fYvc~qujv>8rI|f)W*v5^=uwaVqsSL_ z9{B-3xz9bhIUYZGW0@^yc?1qC$9qyZp-+xY8e<-w z{&31qt?-Zz_GZ%Q-4(3I-QAbPI=)cXT6;qbMyYcQO;b5L8>XFg63+IM)G8cjyR}(W z44;#vn8pQB#sk8%uZl_4)Cj4KOM>mL({CIQ@d;KTW#}sJ#l53~ctv(etr%wYdl#sO zz3JqoK$5!2#;yhpG<;}9#v+6Rd)U??BPf`w2;!VlG&MC{_aoVw8F7cWNCBLvi0Yw_ zX2To_2(zqG9>SPfes+OWt?HmFpL&d_&W*B#@9$ z;>3YE4jsa17J0(N-Y+pW6Ry}RS?UR}7r76y&~XNhdUw$L7sk-O5S*Krm!D%j;)uNh zI{X-!T*L&JPQC4X7h>MLS-@m&)NPH&`#J@N;oWo~-&-M`&v0U>M6DEfS-zou2B1VH zV3S}@@?M+hU$$VkbPrY^m$X!Hm!@F!&bZ)z`NDhY^T6YVq_xFI5VxoT9<#Er?G?}1 zlrB)8$>F>wrlv{z+)Q-} + + + + Button - Secondary + + + + + + + + + diff --git a/packages/core/src/components/button/test/secondary/secondary/lightmode/button.e2e.ts b/packages/core/src/components/button/test/secondary/secondary/lightmode/button.e2e.ts new file mode 100644 index 000000000..aa1aa4bee --- /dev/null +++ b/packages/core/src/components/button/test/secondary/secondary/lightmode/button.e2e.ts @@ -0,0 +1,18 @@ +import { test } from 'stencil-playwright'; +import { expect } from '@playwright/test'; + +const componentTestPath = 'src/components/button/test/secondary/secondary/lightmode/index.html'; + +test.describe.parallel('tds-button-secondary-secondary-lightmode', () => { + test.beforeEach(async ({ page }) => { + await page.goto(componentTestPath); + }); + + test('renders secondary button correctly', async ({ page }) => { + const button = page.getByTestId('tds-button-testid'); + await expect(button).toHaveCount(1); + + /* Check diff on screenshot */ + await expect(page).toHaveScreenshot({ maxDiffPixels: 0 }); + }); +}); diff --git a/packages/core/src/components/button/test/secondary/secondary/lightmode/button.e2e.ts-snapshots/tds-button-secondary-secondary-lightmode-renders-secondary-button-correctly-1-linux.png b/packages/core/src/components/button/test/secondary/secondary/lightmode/button.e2e.ts-snapshots/tds-button-secondary-secondary-lightmode-renders-secondary-button-correctly-1-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..f0e426cc55798c5859f11d28fe7164b631b707a3 GIT binary patch literal 5393 zcmeHLX;4#F6n=nISp=uGKt+vpEY`9_#S-?16p1Jm2U-KNYfD5##IS{|)e@yM8ZDJd zX%Za@4DAdk89)h35ZOeC44WZHf^0#_3K+8YGVM(N^^fo`_s6|&=AC=)cg{QCckg|L zCr_X^TW_<5AZT;g(U3?8vILLjFE*KjAqa8I3=C$tNOUk%-M@Vvg0}XCg&h7S?{~>~ zA3Z*oL{*$Un;UtsJ5##nR?^l8SJ9Y_lckxJwV(LPF?aWhk250ASOxFiVrhBwp3S+c z>s3QkcG$Lku1Q5Y%O8(@7Ct<3tL?&qYc!NV4NLj?z|Q2o{Wdn3vhMR+l(sE5Sv)k` zyR`%-B~p6Pb4>QkJhtB!;JH*K@Rh6r69sSKf??05B+!4jVL#}t%$*>Jy1@+C1zmwY zfS_H6Aqxn)wTlWS9DNV-`gFObuCA{Antg-|8guHDSLz@8oNt6qDVPNX1$;g~l?O7$ zt>7z{JhA=S*T8fmf+*L#twGSca5!A4@5>=KBr?LKsJy&fuT`Z1$kgMVH1oX7%uFX* z>BYv>D0JiJaZh3a+H+$sJh??Z1B$#Re0y9-=ak~R%UNSlAiM{uUR$}Yy{^ALN3nPZ zP^gAlVxj*q2$tFq1SX#R^nJth$b#T^FVA{XYDs!*)=Yow#TI;a_Odx0q%Wv1O9~m4 zm@bNb<)c=zuCSxS=$o_PXp~n)=$S=4uSGU5P;2x6rXu@?>0cPLyKe3f)TcYsCVz6R zUU}kZROq!6s5=KhAmY0QPi}03L1>F?spF7|vbL+TM+#c9lLuvnHIdgY;KeX~v)@cL zOynnbVk5SamFeC8XGX}!D>8g@siO?<%-2kU zAzj#_Y8|pdaF$0<&FVgiLYk`w(6K2g^%+9L>ltjIe!gc~Tt+7wpJtF3C+$h{X9MDT z!9{>}s49x?uVl#lm9L^I$=Zi>@=_5?_w+0K0Ag}3s3~s8_r7LC$(J=ggiFflo*jNU zI;E2YH{|Jpr-2GtXqNw&hA#-SY#dRl`*2X7<~TN+z0dbNvKa zK;FX3hgxZChJHGplhBa;cH|m@EUv0#<|~v-^Mi;L?nYR}_j5thclu_D6I*jc#d>XJ z?GCVj2YJv+lvac9`>Uqq%`hf$xws(?*8YhhO^Mn-rEnH%wNj2TR;Zi3fojsHXOIM% zp0WY)@kEUhD|{{bVg@49(taL?;wSOt0)w9 + + + + Button - Secondary + + + + + + + + + diff --git a/packages/core/src/components/button/test/secondary/button.e2e.ts b/packages/core/src/components/button/test/secondary/unspecified/button.e2e.ts similarity index 91% rename from packages/core/src/components/button/test/secondary/button.e2e.ts rename to packages/core/src/components/button/test/secondary/unspecified/button.e2e.ts index 52c4c3a4a..cbbd0ae87 100644 --- a/packages/core/src/components/button/test/secondary/button.e2e.ts +++ b/packages/core/src/components/button/test/secondary/unspecified/button.e2e.ts @@ -1,11 +1,14 @@ import { test } from 'stencil-playwright'; import { expect } from '@playwright/test'; -const componentTestPath = 'src/components/button/test/secondary/index.html'; +const componentTestPath = 'src/components/button/test/secondary/unspecified/index.html'; test.describe.parallel('tds-button-secondary', () => { - test('renders secondary button correctly', async ({ page }) => { + test.beforeEach(async ({ page }) => { await page.goto(componentTestPath); + }); + + test('renders secondary button correctly', async ({ page }) => { const button = page.getByTestId('tds-button-testid'); await expect(button).toHaveCount(1); @@ -14,7 +17,6 @@ test.describe.parallel('tds-button-secondary', () => { }); test('Check so that height is correct to md measurements', async ({ page }) => { - await page.goto(componentTestPath); const button = page.getByText('Button', { exact: true }); const buttonHeight = await button.evaluate((style) => getComputedStyle(style).height); expect(buttonHeight).toBe('48px'); diff --git a/packages/core/src/components/button/test/secondary/button.e2e.ts-snapshots/tds-button-secondary-renders-secondary-button-correctly-1-linux.png b/packages/core/src/components/button/test/secondary/unspecified/button.e2e.ts-snapshots/tds-button-secondary-renders-secondary-button-correctly-1-linux.png similarity index 100% rename from packages/core/src/components/button/test/secondary/button.e2e.ts-snapshots/tds-button-secondary-renders-secondary-button-correctly-1-linux.png rename to packages/core/src/components/button/test/secondary/unspecified/button.e2e.ts-snapshots/tds-button-secondary-renders-secondary-button-correctly-1-linux.png diff --git a/packages/core/src/components/button/test/secondary/index.html b/packages/core/src/components/button/test/secondary/unspecified/index.html similarity index 100% rename from packages/core/src/components/button/test/secondary/index.html rename to packages/core/src/components/button/test/secondary/unspecified/index.html