Skip to content

Commit 31c53f2

Browse files
authored
Merge pull request #146 from boscop-fr/fix-ci-e2e-tests
Fixed e2e tests
2 parents e495444 + fdf3e4e commit 31c53f2

11 files changed

Lines changed: 47 additions & 22 deletions

File tree

.github/workflows/test-e2e.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ on:
88

99
jobs:
1010
test:
11-
timeout-minutes: 5
1211
runs-on: ubuntu-latest
1312
steps:
1413
- uses: actions/checkout@v4

e2e/OrejimePage.ts

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -37,67 +37,67 @@ export class OrejimePage {
3737
}
3838

3939
get banner() {
40-
return this.locator('.orejime-Banner');
40+
return this.page.getByTestId('orejime-banner');
4141
}
4242

4343
get learnMoreBannerButton() {
44-
return this.locator('.orejime-Banner-learnMoreButton');
44+
return this.page.getByTestId('orejime-banner-configure');
4545
}
4646

4747
get firstFocusableElementFromBanner() {
48-
return this.locator('.orejime-Banner :is(a, button)').first();
48+
return this.banner.locator(':is(a, button)').first();
4949
}
5050

5151
get modal() {
52-
return this.locator('.orejime-Modal');
52+
return this.page.getByTestId('orejime-modal');
5353
}
5454

5555
get closeModalButton() {
56-
return this.locator('.orejime-Modal-closeButton');
56+
return this.page.getByTestId('orejime-modal-close');
5757
}
5858

5959
get contextualNotice() {
60-
return this.locator('.orejime-ContextualNotice');
60+
return this.page.getByTestId('orejime-contextual-notice');
6161
}
6262

6363
get contextualNoticePlaceholder() {
64-
return this.locator('.orejime-ContextualNotice-placeholder');
64+
return this.page.getByTestId('orejime-contextual-notice-placeholder');
6565
}
6666

6767
locator(selector: string) {
6868
return this.page.locator(selector);
6969
}
7070

7171
purposeCheckbox(purposeId: string) {
72-
return this.locator(`#orejime-purpose-${purposeId}`);
72+
return this.page.getByTestId(`orejime-purpose-${purposeId}`);
7373
}
7474

7575
async acceptAllFromBanner() {
76-
await this.locator('.orejime-Banner-saveButton').click();
76+
await this.page.getByTestId('orejime-banner-accept').click();
7777
}
7878

7979
async declineAllFromBanner() {
80-
await this.locator('.orejime-Banner-declineButton').click();
80+
await this.page.getByTestId('orejime-banner-decline').click();
8181
}
8282

8383
async openModalFromBanner() {
8484
await this.learnMoreBannerButton.click();
8585
}
8686

8787
async enableAllFromModal() {
88-
await this.locator('.orejime-PurposeToggles-enableAll').click();
88+
await this.page.getByTestId('orejime-modal-enable-all').click();
8989
}
9090

9191
async disableAllFromModal() {
92-
await this.locator('.orejime-PurposeToggles-disableAll').click();
92+
await this.page.getByTestId('orejime-modal-disable-all').click();
9393
}
9494

9595
async saveFromModal() {
96-
await this.locator('.orejime-Modal-saveButton').click();
96+
await this.page.getByTestId('orejime-modal-save').click();
9797
}
9898

9999
async closeModalByClickingButton() {
100-
await this.locator('.orejime-Modal-closeButton').click();
100+
await this.closeModalButton.click();
101101
}
102102

103103
async closeDialogByClickingOutside() {
@@ -116,7 +116,7 @@ export class OrejimePage {
116116
}
117117

118118
async acceptContextualNotice() {
119-
await this.locator('.orejime-ContextualNotice-button').click();
119+
await this.page.getByTestId('orejime-contextual-notice-accept').click();
120120
}
121121

122122
async expectConsents(consents: Record<string, unknown>) {

playwright.config.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@ export default defineConfig({
44
testDir: './e2e',
55
fullyParallel: true,
66
forbidOnly: !!process.env.CI,
7-
retries: process.env.CI ? 2 : 0,
7+
timeout: 5_000,
8+
expect: {
9+
timeout: 1_000
10+
},
811
workers: process.env.CI ? 1 : undefined,
912
reporter: 'list',
1013
use: {

rspack.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ module.exports = {
2121
compress: true,
2222
static: {
2323
directory: fullPath('dist')
24+
},
25+
client: {
26+
overlay: false
2427
}
2528
},
2629
entry: {

src/ui/components/ContextualNoticeContainer.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ const ContextualNoticeContainer = ({
6666
onFocusOut={() => {
6767
setIsBeingDisabled(false);
6868
}}
69+
data-testid="orejime-contextual-notice-placeholder"
6970
/>
7071
) : null}
7172
</div>

src/ui/components/PurposeContainer.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@ import {useConsent, useTheme} from '../utils/hooks';
22
import {ConsentState} from './types/ConsentState';
33
import {PurposeProps} from './types/Purpose';
44

5-
export interface PurposeContainerProps
6-
extends Omit<PurposeProps, 'consent' | 'onChange'> {}
5+
export interface PurposeContainerProps extends Omit<
6+
PurposeProps,
7+
'consent' | 'onChange'
8+
> {}
79

810
const PurposeContainer = (props: PurposeContainerProps) => {
911
const [consent, setConsent] = useConsent(props.id);

src/ui/themes/standard/Banner.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,12 @@ const Banner: BannerComponent = ({
2020
useNonObscuringElement(ref);
2121

2222
return (
23-
<div aria-hidden={isHidden} className="orejime-Banner" ref={ref}>
23+
<div
24+
aria-hidden={isHidden}
25+
className="orejime-Banner"
26+
ref={ref}
27+
data-testid="orejime-banner"
28+
>
2429
<div className="orejime-Banner-body">
2530
{logo && (
2631
<div className="orejime-Banner-logoContainer">
@@ -75,6 +80,7 @@ const Banner: BannerComponent = ({
7580
type="button"
7681
title={t.banner.acceptTitle}
7782
onClick={onSaveRequest}
83+
data-testid="orejime-banner-accept"
7884
>
7985
{t.banner.accept}
8086
</button>
@@ -85,6 +91,7 @@ const Banner: BannerComponent = ({
8591
type="button"
8692
title={t.banner.declineTitle}
8793
onClick={onDeclineRequest}
94+
data-testid="orejime-banner-decline"
8895
>
8996
{t.banner.decline}
9097
</button>
@@ -95,6 +102,7 @@ const Banner: BannerComponent = ({
95102
className="orejime-Button orejime-Button--info orejime-Banner-learnMoreButton"
96103
title={t.banner.configureTitle}
97104
onClick={onConfigRequest}
105+
data-testid="orejime-banner-configure"
98106
>
99107
{t.banner.configure}
100108
</button>

src/ui/themes/standard/ContextualNotice.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@ const ContextualNotice: ContextualNoticeComponent = ({
2525
};
2626

2727
return (
28-
<div className="orejime-ContextualNotice">
28+
<div
29+
className="orejime-ContextualNotice"
30+
data-testid="orejime-contextual-notice"
31+
>
2932
<TitleTag className="orejime-ContextualNotice-title">
3033
{template(t.contextual.title, templateProps)}
3134
</TitleTag>
@@ -42,6 +45,7 @@ const ContextualNotice: ContextualNoticeComponent = ({
4245
: null
4346
}
4447
onClick={onAccept}
48+
data-testid="orejime-contextual-notice-accept"
4549
>
4650
{template(t.contextual.accept, templateProps)}
4751
</button>

src/ui/themes/standard/GlobalConsent.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ const GlobalConsent: GlobalConsentComponent = ({
1616
className="orejime-Button orejime-Button--info orejime-PurposeToggles-button orejime-PurposeToggles-enableAll"
1717
aria-disabled={isEnabled}
1818
onClick={acceptAll}
19+
data-testid="orejime-modal-enable-all"
1920
>
2021
{t.modal.acceptAll}
2122
</button>
@@ -25,6 +26,7 @@ const GlobalConsent: GlobalConsentComponent = ({
2526
className="orejime-Button orejime-Button--info orejime-PurposeToggles-button orejime-PurposeToggles-disableAll"
2627
aria-disabled={isDisabled}
2728
onClick={declineAll}
29+
data-testid="orejime-modal-disable-all"
2830
>
2931
{t.modal.declineAll}
3032
</button>

src/ui/themes/standard/Modal.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,15 @@ const Modal: ModalComponent = ({
2323
className="orejime-ModalWrapper"
2424
onRequestClose={onClose}
2525
>
26-
<div className="orejime-Modal">
26+
<div className="orejime-Modal" data-testid="orejime-modal">
2727
<div className="orejime-Modal-header">
2828
{isForced ? null : (
2929
<button
3030
title={t.modal.closeTitle}
3131
className="orejime-Modal-closeButton"
3232
type="button"
3333
onClick={onClose}
34+
data-testid="orejime-modal-close"
3435
>
3536
<Close title={t.modal.close} />
3637
</button>
@@ -89,6 +90,7 @@ const Modal: ModalComponent = ({
8990
<button
9091
className="orejime-Button orejime-Button--save orejime-Modal-saveButton"
9192
title={t.modal.saveTitle}
93+
data-testid="orejime-modal-save"
9294
>
9395
{t.modal.save}
9496
</button>

0 commit comments

Comments
 (0)