@zap-wunschlachen/wl-shared-components 1.0.38 → 1.0.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/playwright.yml +205 -205
- package/.github/workflows/static.yml +61 -61
- package/.github/workflows/update-snapshots.yml +37 -37
- package/.prettierrc +5 -5
- package/.storybook/main.ts +18 -18
- package/.storybook/preview.ts +37 -37
- package/.storybook/storyWrapper.vue +18 -18
- package/.storybook/withVuetifyTheme.decorator.ts +21 -21
- package/App.vue +33 -33
- package/README.md +56 -56
- package/heroicons.ts +75 -75
- package/index.html +19 -19
- package/package.json +67 -67
- package/playwright.config.ts +48 -48
- package/public/background.svg +60 -60
- package/public/style.css +187 -187
- package/public/technologies.svg +22 -22
- package/src/assets/css/base.css +234 -232
- package/src/assets/css/variables.css +112 -109
- package/src/components/Accordion/Accordion.css +59 -59
- package/src/components/Accordion/AccordionGroup.vue +51 -51
- package/src/components/Accordion/AccordionItem.vue +66 -66
- package/src/components/Appointment/Card/Actions.css +54 -54
- package/src/components/Appointment/Card/Actions.vue +99 -99
- package/src/components/Appointment/Card/AnamneseNotification.css +15 -15
- package/src/components/Appointment/Card/AnamneseNotification.vue +23 -23
- package/src/components/Appointment/Card/Card.css +80 -80
- package/src/components/Appointment/Card/Card.vue +93 -93
- package/src/components/Appointment/Card/Details.css +50 -50
- package/src/components/Appointment/Card/Details.vue +43 -43
- package/src/components/Audio/Audio.vue +187 -187
- package/src/components/Audio/Waveform.vue +118 -118
- package/src/components/Button/Button.vue +174 -174
- package/src/components/CheckBox/CheckBox.css +214 -214
- package/src/components/CheckBox/Checkbox.vue +138 -138
- package/src/components/DateInput/DateInput.css +2 -2
- package/src/components/DateInput/DateInput.vue +262 -262
- package/src/components/Dialog/Dialog.css +6 -6
- package/src/components/Dialog/Dialog.vue +38 -38
- package/src/components/EditField/EditField.css +19 -19
- package/src/components/EditField/EditField.vue +202 -202
- package/src/components/ErrorPage/ErrorPage.css +172 -172
- package/src/components/IconBullet/IconBullet.vue +86 -86
- package/src/components/IconBullet/IconBulletList.vue +41 -41
- package/src/components/Icons/AdvanceAppointments.vue +153 -153
- package/src/components/Icons/Audio/CloudFailed.vue +20 -20
- package/src/components/Icons/Audio/CloudSaved.vue +21 -21
- package/src/components/Icons/Audio/Delete.vue +15 -15
- package/src/components/Icons/Audio/Pause.vue +18 -18
- package/src/components/Icons/Audio/Play.vue +15 -15
- package/src/components/Icons/{calendar.vue → Calendar.vue} +17 -17
- package/src/components/Icons/CalendarNotification.vue +126 -126
- package/src/components/Icons/Chair.vue +32 -32
- package/src/components/Icons/ChairNotification.vue +35 -35
- package/src/components/Icons/Circle.vue +66 -66
- package/src/components/Icons/FavIcon.vue +22 -22
- package/src/components/Icons/FilledCircle.vue +11 -11
- package/src/components/Icons/Group3.vue +46 -46
- package/src/components/Icons/RingNotification.vue +54 -54
- package/src/components/Icons/SolidArrowRight.vue +14 -14
- package/src/components/Icons/checkbox.vue +19 -19
- package/src/components/Icons/outlineChecked.vue +27 -27
- package/src/components/Icons/play.vue +5 -5
- package/src/components/Input/Input.css +187 -187
- package/src/components/Input/Input.vue +253 -253
- package/src/components/Laboratory/AppointmentCard/AppointmentCard.css +7 -7
- package/src/components/Laboratory/AppointmentCard/AppointmentCard.vue +116 -116
- package/src/components/Laboratory/ChatBoxImage/ChatBoxImage.vue +81 -81
- package/src/components/Laboratory/ChatMessage/ChatMessage.vue +113 -113
- package/src/components/Laboratory/ChatMessage/ChatMessageBadge.css +4 -4
- package/src/components/Laboratory/ChatMessage/ChatMessageBadge.vue +99 -99
- package/src/components/Laboratory/ChatNotification/ChatNotification.vue +130 -130
- package/src/components/Laboratory/DocumentCard/DocumentCard.css +3 -3
- package/src/components/Laboratory/DocumentCard/DocumentCard.vue +50 -50
- package/src/components/Laboratory/DocumentCard/DocumentCardItem.vue +53 -53
- package/src/components/Laboratory/InfoCard/InfoCard.vue +162 -162
- package/src/components/Laboratory/MainColumnsBar/MainColumnsBar.vue +102 -102
- package/src/components/Laboratory/ProgressCircle/ProgressCircle.vue +152 -152
- package/src/components/Laboratory/ProgressLinear/ProgressLinear.css +33 -33
- package/src/components/Laboratory/ProgressLinear/ProgressLinear.vue +75 -75
- package/src/components/Laboratory/SelectionColumnBar/SelectionColumnBar.vue +92 -92
- package/src/components/Laboratory/StatusNotification/StatusNotification.vue +49 -49
- package/src/components/Laboratory/TagLabel/TagLabel.vue +126 -126
- package/src/components/Laboratory/TagLabelGroup/TagLabelGroup.vue +97 -97
- package/src/components/Laboratory/TicketCard/TicketCard.css +3 -3
- package/src/components/Laboratory/TicketCard/TicketCard.vue +143 -143
- package/src/components/Laboratory/TimeLine/TimeLineEvent.css +18 -18
- package/src/components/Laboratory/TimeLine/TimeLineEvent.vue +119 -119
- package/src/components/Laboratory/TimeLine/Timeline.css +4 -4
- package/src/components/Laboratory/TimeLine/Timeline.vue +30 -30
- package/src/components/Loader/Loader.css +71 -71
- package/src/components/MaintenanceBanner/MaintenanceBanner.css +353 -353
- package/src/components/MaintenanceBanner/MaintenanceBanner.vue +127 -127
- package/src/components/MaintenanceBanner/MaintenanceIllustration.vue +54 -54
- package/src/components/Modal/Modal.css +5 -5
- package/src/components/Modal/Modal.vue +22 -22
- package/src/components/NotificationBubble/NotificationBubble.css +4 -4
- package/src/components/NotificationBubble/NotificationBubble.vue +90 -90
- package/src/components/OtpInput/OtpInput.css +39 -39
- package/src/components/OtpInput/OtpInput.vue +151 -151
- package/src/components/PhoneInput/PhoneInput.css +31 -31
- package/src/components/PhoneInput/PhoneInput.vue +113 -113
- package/src/components/Select/Select.css +150 -150
- package/src/components/Select/Select.vue +316 -316
- package/src/components/TextArea/TextArea.css +3 -3
- package/src/components/TextArea/TextArea.vue +126 -126
- package/src/components/TickBox/TickBox.css +49 -49
- package/src/components/TickBox/TickBox.vue +126 -126
- package/src/components/accessibility.css +218 -218
- package/src/components/index.ts +29 -29
- package/src/constants/iconEnums.ts +3 -3
- package/src/i18n/i18n.ts +15 -15
- package/src/i18n/locales/de.json +30 -30
- package/src/i18n/locales/en.json +30 -30
- package/src/index.ts +34 -34
- package/src/main.ts +11 -11
- package/src/plugins/vuetify.ts +141 -141
- package/src/shims-vue.d.ts +10 -10
- package/src/stories/Accordion.stories.ts +650 -650
- package/src/stories/Audio.stories.ts +28 -28
- package/src/stories/Button.stories.ts +263 -263
- package/src/stories/CheckBox.stories.ts +348 -348
- package/src/stories/DateInput.stories.ts +53 -53
- package/src/stories/Dialog.stories.ts +147 -147
- package/src/stories/EditField.stories.ts +78 -78
- package/src/stories/IconBullet/IconBullet.stories.ts +201 -201
- package/src/stories/IconBullet/IconBulletList.stories.ts +275 -275
- package/src/stories/Input.stories.ts +351 -351
- package/src/stories/Laboratory/Cards/AppointmentCard/AppointmentCard.stories.ts +260 -260
- package/src/stories/Laboratory/Cards/DocumentCard/DocumentCard.stories.ts +176 -176
- package/src/stories/Laboratory/Cards/DocumentCard/DocumentCardItem.stories.ts +119 -119
- package/src/stories/Laboratory/Cards/InfoCard/InfoCard.stories.ts +320 -320
- package/src/stories/Laboratory/Cards/TicketCard/TicketCard.stories.ts +335 -335
- package/src/stories/Laboratory/Chat/ChatBoxImage.stories.ts +82 -82
- package/src/stories/Laboratory/Chat/ChatMessage.stories.ts +198 -198
- package/src/stories/Laboratory/Chat/ChatMessageBadge.stories.ts +204 -204
- package/src/stories/Laboratory/Chat/ChatNotification.stories.ts +144 -144
- package/src/stories/Laboratory/Chat/ProgressLinear.stories.ts +186 -186
- package/src/stories/Laboratory/Chat/StatusNotification.stories.ts +111 -111
- package/src/stories/Laboratory/MainColumnsBar.stories.ts +48 -48
- package/src/stories/Laboratory/ProgressCircle.stories.ts +261 -261
- package/src/stories/Laboratory/SelectionColumnBar.stories.ts +234 -234
- package/src/stories/Laboratory/TagLabel.stories.ts +418 -418
- package/src/stories/Laboratory/TagLabelGroup.stories.ts +234 -234
- package/src/stories/Laboratory/Timeline.stories.ts +403 -403
- package/src/stories/NotificationBubble.stories.ts +194 -194
- package/src/stories/OtpInput.stories.ts +100 -100
- package/src/stories/PhoneInput.stories.ts +52 -52
- package/src/stories/Select.stories.ts +419 -419
- package/src/stories/TextArea.stories.ts +112 -112
- package/src/stories/TickBox.stories.ts +294 -294
- package/src/stories/v-icon.stories.ts +91 -91
- package/src/utils/index.ts +116 -109
- package/src/vite-env.d.ts +1 -1
- package/tests/e2e/README.md +220 -220
- package/tests/e2e/accessibility.spec.ts +638 -638
- package/tests/e2e/accordion.spec.ts +42 -42
- package/tests/e2e/additional-components.spec.ts +437 -437
- package/tests/e2e/all-components.spec.ts +135 -135
- package/tests/e2e/appointment-card.spec.ts +816 -816
- package/tests/e2e/button-fixed.spec.ts +58 -58
- package/tests/e2e/button.spec.ts +76 -76
- package/tests/e2e/checkbox.spec.ts +50 -50
- package/tests/e2e/date-input.spec.ts +46 -46
- package/tests/e2e/debug.spec.ts +51 -51
- package/tests/e2e/dialog.spec.ts +58 -58
- package/tests/e2e/input.spec.ts +55 -55
- package/tests/e2e/laboratory-components.spec.ts +320 -320
- package/tests/e2e/otp-input.spec.ts +50 -50
- package/tests/e2e/select.spec.ts +52 -52
- package/tests/e2e/storybook-utils.ts +59 -59
- package/tests/e2e/test-basic.spec.ts +33 -33
- package/tests/e2e/visual-regression.spec.ts +350 -350
- package/tests/unit/accessibility/component-a11y.spec.ts +469 -469
- package/tests/unit/components/Accordion/AccordionGroup.spec.ts +228 -228
- package/tests/unit/components/Accordion/AccordionGroup.spec.ts.skip +342 -342
- package/tests/unit/components/Accordion/AccordionItem.spec.ts +292 -292
- package/tests/unit/components/Accordion/AccordionItem.spec.ts.skip +383 -383
- package/tests/unit/components/Appointment/AnamneseNotification.spec.ts +176 -176
- package/tests/unit/components/Appointment/Card/Actions.spec.ts +407 -407
- package/tests/unit/components/Appointment/Card/Card.spec.ts +485 -485
- package/tests/unit/components/Appointment/Card/Details.spec.ts +397 -397
- package/tests/unit/components/Audio/Audio.spec.ts +403 -403
- package/tests/unit/components/Audio/Waveform.spec.ts +483 -483
- package/tests/unit/components/Background/Background.spec.ts +177 -177
- package/tests/unit/components/Core/Button.spec.ts +336 -336
- package/tests/unit/components/Core/Checkbox.spec.ts +544 -544
- package/tests/unit/components/Core/DateInput.spec.ts +690 -690
- package/tests/unit/components/Core/Dialog.spec.ts +485 -485
- package/tests/unit/components/Core/EditField.spec.ts +782 -782
- package/tests/unit/components/Core/Input.spec.ts +512 -512
- package/tests/unit/components/Core/Modal.spec.ts +518 -518
- package/tests/unit/components/Core/NotificationBubble.spec.ts +606 -606
- package/tests/unit/components/Core/OtpInput.spec.ts +708 -708
- package/tests/unit/components/Core/PhoneInput.spec.ts +619 -619
- package/tests/unit/components/Core/Select.spec.ts +712 -712
- package/tests/unit/components/Core/TextArea.spec.ts +565 -565
- package/tests/unit/components/Core/TickBox.spec.ts +779 -779
- package/tests/unit/components/ErrorPage/ErrorPage.spec.ts +313 -313
- package/tests/unit/components/ErrorPage/ErrorPageLogo.spec.ts +153 -153
- package/tests/unit/components/IconBullet/IconBullet.spec.ts +356 -356
- package/tests/unit/components/IconBullet/IconBulletList.spec.ts +371 -371
- package/tests/unit/components/Icons/AdvanceAppointments.spec.ts +61 -61
- package/tests/unit/components/Icons/Audio/CloudFailed.spec.ts +108 -108
- package/tests/unit/components/Icons/Audio/CloudSaved.spec.ts +149 -149
- package/tests/unit/components/Icons/Audio/Delete.spec.ts +158 -158
- package/tests/unit/components/Icons/Audio/Pause.spec.ts +208 -208
- package/tests/unit/components/Icons/Audio/Play.spec.ts +217 -217
- package/tests/unit/components/Icons/CalendarNotification.spec.ts +186 -186
- package/tests/unit/components/Icons/Chair.spec.ts +234 -234
- package/tests/unit/components/Icons/ChairNotification.spec.ts +311 -311
- package/tests/unit/components/Icons/Circle.spec.ts +255 -255
- package/tests/unit/components/Icons/FavIcon.spec.ts +251 -251
- package/tests/unit/components/Icons/FilledCircle.spec.ts +274 -274
- package/tests/unit/components/Icons/Group3.spec.ts +355 -355
- package/tests/unit/components/Icons/Logo.spec.ts +228 -228
- package/tests/unit/components/Icons/MiniLogo.spec.ts +38 -38
- package/tests/unit/components/Icons/RingNotification.spec.ts +393 -393
- package/tests/unit/components/Icons/SolidArrowRight.spec.ts +49 -49
- package/tests/unit/components/Icons/calendar.spec.ts +286 -286
- package/tests/unit/components/Icons/checkbox.spec.ts +315 -315
- package/tests/unit/components/Icons/outlineChecked.spec.ts +434 -434
- package/tests/unit/components/Icons/play.spec.ts +308 -308
- package/tests/unit/components/Laboratory/AppointmentCard.spec.ts +167 -167
- package/tests/unit/components/Laboratory/ChatBoxImage.spec.ts +179 -179
- package/tests/unit/components/Laboratory/ChatMessage.spec.ts +263 -263
- package/tests/unit/components/Laboratory/ChatMessageBadge.spec.ts +282 -282
- package/tests/unit/components/Laboratory/ChatNotification.spec.ts +256 -256
- package/tests/unit/components/Laboratory/DocumentCard.spec.ts +228 -228
- package/tests/unit/components/Laboratory/DocumentCardItem.spec.ts +236 -236
- package/tests/unit/components/Laboratory/InfoCard.spec.ts +308 -308
- package/tests/unit/components/Laboratory/MainColumnsBar.spec.ts +251 -251
- package/tests/unit/components/Laboratory/ProgressCircle.spec.ts +290 -290
- package/tests/unit/components/Laboratory/ProgressLinear.spec.ts +275 -275
- package/tests/unit/components/Laboratory/SelectionColumnBar.spec.ts +288 -288
- package/tests/unit/components/Laboratory/StatusNotification.spec.ts +296 -296
- package/tests/unit/components/Laboratory/TagLabel.spec.ts +353 -353
- package/tests/unit/components/Laboratory/TagLabelGroup.spec.ts +377 -377
- package/tests/unit/components/Laboratory/TicketCard.spec.ts +351 -351
- package/tests/unit/components/Laboratory/TimeLineEvent.spec.ts +381 -381
- package/tests/unit/components/Laboratory/Timeline.spec.ts +419 -419
- package/tests/unit/components/Loader/Loader.spec.ts +197 -197
- package/tests/unit/components/MaintenanceBanner/MaintenanceBanner.spec.ts +302 -302
- package/tests/unit/constants/iconEnums.spec.ts +39 -39
- package/tests/unit/i18n/i18n.spec.ts +88 -88
- package/tests/unit/plugins/vuetify.spec.ts +220 -220
- package/tests/unit/setup.ts +189 -189
- package/tests/unit/src/components/index.spec.ts.skip +192 -192
- package/tests/unit/src/index.spec.ts.skip +182 -182
- package/tests/unit/src/main.spec.ts +151 -151
- package/tests/unit/utils/accessibility.spec.ts +318 -318
- package/tsconfig.json +26 -26
- package/vite.config.ts +29 -29
- package/vitest.config.ts +83 -83
|
@@ -1,206 +1,206 @@
|
|
|
1
|
-
name: Playwright Tests
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
workflow_dispatch:
|
|
5
|
-
push:
|
|
6
|
-
branches: [develop]
|
|
7
|
-
pull_request:
|
|
8
|
-
branches: [develop]
|
|
9
|
-
|
|
10
|
-
jobs:
|
|
11
|
-
test:
|
|
12
|
-
timeout-minutes: 60
|
|
13
|
-
runs-on: ubuntu-latest
|
|
14
|
-
|
|
15
|
-
strategy:
|
|
16
|
-
matrix:
|
|
17
|
-
browser: [chromium, firefox, webkit]
|
|
18
|
-
fail-fast: false
|
|
19
|
-
|
|
20
|
-
steps:
|
|
21
|
-
- uses: actions/checkout@v4
|
|
22
|
-
|
|
23
|
-
- uses: actions/setup-node@v4
|
|
24
|
-
with:
|
|
25
|
-
node-version: 18
|
|
26
|
-
cache: 'npm'
|
|
27
|
-
|
|
28
|
-
- name: Install dependencies
|
|
29
|
-
run: npm ci
|
|
30
|
-
|
|
31
|
-
- name: Install Playwright Browsers
|
|
32
|
-
run: npx playwright install --with-deps ${{ matrix.browser }}
|
|
33
|
-
|
|
34
|
-
- name: Build Storybook
|
|
35
|
-
run: npm run build-storybook
|
|
36
|
-
|
|
37
|
-
- name: Serve Storybook and run tests
|
|
38
|
-
run: npx playwright test --project=${{ matrix.browser }}
|
|
39
|
-
|
|
40
|
-
- name: Upload test results
|
|
41
|
-
uses: actions/upload-artifact@v4
|
|
42
|
-
if: always()
|
|
43
|
-
with:
|
|
44
|
-
name: playwright-results-${{ matrix.browser }}
|
|
45
|
-
path: |
|
|
46
|
-
playwright-report/
|
|
47
|
-
retention-days: 7
|
|
48
|
-
|
|
49
|
-
accessibility-test:
|
|
50
|
-
timeout-minutes: 30
|
|
51
|
-
runs-on: ubuntu-latest
|
|
52
|
-
|
|
53
|
-
steps:
|
|
54
|
-
- uses: actions/checkout@v4
|
|
55
|
-
|
|
56
|
-
- uses: actions/setup-node@v4
|
|
57
|
-
with:
|
|
58
|
-
node-version: 18
|
|
59
|
-
cache: 'npm'
|
|
60
|
-
|
|
61
|
-
- name: Install dependencies
|
|
62
|
-
run: npm ci
|
|
63
|
-
|
|
64
|
-
- name: Install Playwright Browsers
|
|
65
|
-
run: npx playwright install chromium
|
|
66
|
-
|
|
67
|
-
- name: Build Storybook
|
|
68
|
-
run: npm run build-storybook
|
|
69
|
-
|
|
70
|
-
- name: Run accessibility tests
|
|
71
|
-
run: npx playwright test --grep 'accessibility|Accessibility' --project=chromium
|
|
72
|
-
|
|
73
|
-
- name: Upload accessibility results
|
|
74
|
-
uses: actions/upload-artifact@v4
|
|
75
|
-
if: always()
|
|
76
|
-
with:
|
|
77
|
-
name: accessibility-results
|
|
78
|
-
path: |
|
|
79
|
-
playwright-report/
|
|
80
|
-
retention-days: 7
|
|
81
|
-
|
|
82
|
-
visual-regression:
|
|
83
|
-
timeout-minutes: 45
|
|
84
|
-
runs-on: ubuntu-latest
|
|
85
|
-
|
|
86
|
-
steps:
|
|
87
|
-
- uses: actions/checkout@v4
|
|
88
|
-
|
|
89
|
-
- uses: actions/setup-node@v4
|
|
90
|
-
with:
|
|
91
|
-
node-version: 18
|
|
92
|
-
cache: 'npm'
|
|
93
|
-
|
|
94
|
-
- name: Install dependencies
|
|
95
|
-
run: npm ci
|
|
96
|
-
|
|
97
|
-
- name: Install Playwright Browsers
|
|
98
|
-
run: npx playwright install chromium
|
|
99
|
-
|
|
100
|
-
- name: Build Storybook
|
|
101
|
-
run: npm run build-storybook
|
|
102
|
-
|
|
103
|
-
- name: Run visual regression tests
|
|
104
|
-
run: npx playwright test tests/e2e/visual-regression.spec.ts --project=chromium
|
|
105
|
-
|
|
106
|
-
- name: Upload visual test results
|
|
107
|
-
uses: actions/upload-artifact@v4
|
|
108
|
-
if: always()
|
|
109
|
-
with:
|
|
110
|
-
name: visual-regression-results
|
|
111
|
-
path: |
|
|
112
|
-
playwright-report/
|
|
113
|
-
retention-days: 7
|
|
114
|
-
|
|
115
|
-
mobile-test:
|
|
116
|
-
timeout-minutes: 45
|
|
117
|
-
runs-on: ubuntu-latest
|
|
118
|
-
|
|
119
|
-
steps:
|
|
120
|
-
- uses: actions/checkout@v4
|
|
121
|
-
|
|
122
|
-
- uses: actions/setup-node@v4
|
|
123
|
-
with:
|
|
124
|
-
node-version: 18
|
|
125
|
-
cache: 'npm'
|
|
126
|
-
|
|
127
|
-
- name: Install dependencies
|
|
128
|
-
run: npm ci
|
|
129
|
-
|
|
130
|
-
- name: Install Playwright Browsers
|
|
131
|
-
run: npx playwright install chromium
|
|
132
|
-
|
|
133
|
-
- name: Build Storybook
|
|
134
|
-
run: npm run build-storybook
|
|
135
|
-
|
|
136
|
-
- name: Run mobile tests
|
|
137
|
-
run: npx playwright test --project='Mobile Chrome' --project='Mobile Safari'
|
|
138
|
-
|
|
139
|
-
- name: Upload mobile test results
|
|
140
|
-
uses: actions/upload-artifact@v4
|
|
141
|
-
if: always()
|
|
142
|
-
with:
|
|
143
|
-
name: mobile-test-results
|
|
144
|
-
path: |
|
|
145
|
-
playwright-report/
|
|
146
|
-
retention-days: 7
|
|
147
|
-
|
|
148
|
-
report:
|
|
149
|
-
if: always()
|
|
150
|
-
needs: [test, accessibility-test, visual-regression, mobile-test]
|
|
151
|
-
runs-on: ubuntu-latest
|
|
152
|
-
|
|
153
|
-
steps:
|
|
154
|
-
- uses: actions/checkout@v4
|
|
155
|
-
|
|
156
|
-
- name: Download all artifacts
|
|
157
|
-
uses: actions/download-artifact@v4
|
|
158
|
-
with:
|
|
159
|
-
path: artifacts
|
|
160
|
-
|
|
161
|
-
- name: Generate consolidated report
|
|
162
|
-
run: |
|
|
163
|
-
echo "# Test Results Summary" > test-summary.md
|
|
164
|
-
echo "" >> test-summary.md
|
|
165
|
-
echo "## Browser Tests" >> test-summary.md
|
|
166
|
-
for browser in chromium firefox webkit; do
|
|
167
|
-
if [ -d "artifacts/playwright-results-$browser" ]; then
|
|
168
|
-
echo "- ✅ $browser tests completed" >> test-summary.md
|
|
169
|
-
else
|
|
170
|
-
echo "- ❌ $browser tests failed" >> test-summary.md
|
|
171
|
-
fi
|
|
172
|
-
done
|
|
173
|
-
echo "" >> test-summary.md
|
|
174
|
-
echo "## Accessibility Tests" >> test-summary.md
|
|
175
|
-
if [ -d "artifacts/accessibility-results" ]; then
|
|
176
|
-
echo "- ✅ Accessibility tests completed" >> test-summary.md
|
|
177
|
-
else
|
|
178
|
-
echo "- ❌ Accessibility tests failed" >> test-summary.md
|
|
179
|
-
fi
|
|
180
|
-
echo "" >> test-summary.md
|
|
181
|
-
echo "## Visual Regression Tests" >> test-summary.md
|
|
182
|
-
if [ -d "artifacts/visual-regression-results" ]; then
|
|
183
|
-
echo "- ✅ Visual regression tests completed" >> test-summary.md
|
|
184
|
-
else
|
|
185
|
-
echo "- ❌ Visual regression tests failed" >> test-summary.md
|
|
186
|
-
fi
|
|
187
|
-
echo "" >> test-summary.md
|
|
188
|
-
echo "## Mobile Tests" >> test-summary.md
|
|
189
|
-
if [ -d "artifacts/mobile-test-results" ]; then
|
|
190
|
-
echo "- ✅ Mobile tests completed" >> test-summary.md
|
|
191
|
-
else
|
|
192
|
-
echo "- ❌ Mobile tests failed" >> test-summary.md
|
|
193
|
-
fi
|
|
194
|
-
|
|
195
|
-
- name: Convert markdown to HTML
|
|
196
|
-
run: |
|
|
197
|
-
npm install -g markdown-cli
|
|
198
|
-
npx markdown-cli test-summary.md > test-summary.html
|
|
199
|
-
- name: Upload consolidated report
|
|
200
|
-
uses: actions/upload-artifact@v4
|
|
201
|
-
with:
|
|
202
|
-
name: consolidated-test-report
|
|
203
|
-
path: |
|
|
204
|
-
test-summary.md
|
|
205
|
-
test-summary.html
|
|
1
|
+
name: Playwright Tests
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
push:
|
|
6
|
+
branches: [develop]
|
|
7
|
+
pull_request:
|
|
8
|
+
branches: [develop]
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
test:
|
|
12
|
+
timeout-minutes: 60
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
|
|
15
|
+
strategy:
|
|
16
|
+
matrix:
|
|
17
|
+
browser: [chromium, firefox, webkit]
|
|
18
|
+
fail-fast: false
|
|
19
|
+
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/checkout@v4
|
|
22
|
+
|
|
23
|
+
- uses: actions/setup-node@v4
|
|
24
|
+
with:
|
|
25
|
+
node-version: 18
|
|
26
|
+
cache: 'npm'
|
|
27
|
+
|
|
28
|
+
- name: Install dependencies
|
|
29
|
+
run: npm ci
|
|
30
|
+
|
|
31
|
+
- name: Install Playwright Browsers
|
|
32
|
+
run: npx playwright install --with-deps ${{ matrix.browser }}
|
|
33
|
+
|
|
34
|
+
- name: Build Storybook
|
|
35
|
+
run: npm run build-storybook
|
|
36
|
+
|
|
37
|
+
- name: Serve Storybook and run tests
|
|
38
|
+
run: npx playwright test --project=${{ matrix.browser }}
|
|
39
|
+
|
|
40
|
+
- name: Upload test results
|
|
41
|
+
uses: actions/upload-artifact@v4
|
|
42
|
+
if: always()
|
|
43
|
+
with:
|
|
44
|
+
name: playwright-results-${{ matrix.browser }}
|
|
45
|
+
path: |
|
|
46
|
+
playwright-report/
|
|
47
|
+
retention-days: 7
|
|
48
|
+
|
|
49
|
+
accessibility-test:
|
|
50
|
+
timeout-minutes: 30
|
|
51
|
+
runs-on: ubuntu-latest
|
|
52
|
+
|
|
53
|
+
steps:
|
|
54
|
+
- uses: actions/checkout@v4
|
|
55
|
+
|
|
56
|
+
- uses: actions/setup-node@v4
|
|
57
|
+
with:
|
|
58
|
+
node-version: 18
|
|
59
|
+
cache: 'npm'
|
|
60
|
+
|
|
61
|
+
- name: Install dependencies
|
|
62
|
+
run: npm ci
|
|
63
|
+
|
|
64
|
+
- name: Install Playwright Browsers
|
|
65
|
+
run: npx playwright install chromium
|
|
66
|
+
|
|
67
|
+
- name: Build Storybook
|
|
68
|
+
run: npm run build-storybook
|
|
69
|
+
|
|
70
|
+
- name: Run accessibility tests
|
|
71
|
+
run: npx playwright test --grep 'accessibility|Accessibility' --project=chromium
|
|
72
|
+
|
|
73
|
+
- name: Upload accessibility results
|
|
74
|
+
uses: actions/upload-artifact@v4
|
|
75
|
+
if: always()
|
|
76
|
+
with:
|
|
77
|
+
name: accessibility-results
|
|
78
|
+
path: |
|
|
79
|
+
playwright-report/
|
|
80
|
+
retention-days: 7
|
|
81
|
+
|
|
82
|
+
visual-regression:
|
|
83
|
+
timeout-minutes: 45
|
|
84
|
+
runs-on: ubuntu-latest
|
|
85
|
+
|
|
86
|
+
steps:
|
|
87
|
+
- uses: actions/checkout@v4
|
|
88
|
+
|
|
89
|
+
- uses: actions/setup-node@v4
|
|
90
|
+
with:
|
|
91
|
+
node-version: 18
|
|
92
|
+
cache: 'npm'
|
|
93
|
+
|
|
94
|
+
- name: Install dependencies
|
|
95
|
+
run: npm ci
|
|
96
|
+
|
|
97
|
+
- name: Install Playwright Browsers
|
|
98
|
+
run: npx playwright install chromium
|
|
99
|
+
|
|
100
|
+
- name: Build Storybook
|
|
101
|
+
run: npm run build-storybook
|
|
102
|
+
|
|
103
|
+
- name: Run visual regression tests
|
|
104
|
+
run: npx playwright test tests/e2e/visual-regression.spec.ts --project=chromium
|
|
105
|
+
|
|
106
|
+
- name: Upload visual test results
|
|
107
|
+
uses: actions/upload-artifact@v4
|
|
108
|
+
if: always()
|
|
109
|
+
with:
|
|
110
|
+
name: visual-regression-results
|
|
111
|
+
path: |
|
|
112
|
+
playwright-report/
|
|
113
|
+
retention-days: 7
|
|
114
|
+
|
|
115
|
+
mobile-test:
|
|
116
|
+
timeout-minutes: 45
|
|
117
|
+
runs-on: ubuntu-latest
|
|
118
|
+
|
|
119
|
+
steps:
|
|
120
|
+
- uses: actions/checkout@v4
|
|
121
|
+
|
|
122
|
+
- uses: actions/setup-node@v4
|
|
123
|
+
with:
|
|
124
|
+
node-version: 18
|
|
125
|
+
cache: 'npm'
|
|
126
|
+
|
|
127
|
+
- name: Install dependencies
|
|
128
|
+
run: npm ci
|
|
129
|
+
|
|
130
|
+
- name: Install Playwright Browsers
|
|
131
|
+
run: npx playwright install chromium
|
|
132
|
+
|
|
133
|
+
- name: Build Storybook
|
|
134
|
+
run: npm run build-storybook
|
|
135
|
+
|
|
136
|
+
- name: Run mobile tests
|
|
137
|
+
run: npx playwright test --project='Mobile Chrome' --project='Mobile Safari'
|
|
138
|
+
|
|
139
|
+
- name: Upload mobile test results
|
|
140
|
+
uses: actions/upload-artifact@v4
|
|
141
|
+
if: always()
|
|
142
|
+
with:
|
|
143
|
+
name: mobile-test-results
|
|
144
|
+
path: |
|
|
145
|
+
playwright-report/
|
|
146
|
+
retention-days: 7
|
|
147
|
+
|
|
148
|
+
report:
|
|
149
|
+
if: always()
|
|
150
|
+
needs: [test, accessibility-test, visual-regression, mobile-test]
|
|
151
|
+
runs-on: ubuntu-latest
|
|
152
|
+
|
|
153
|
+
steps:
|
|
154
|
+
- uses: actions/checkout@v4
|
|
155
|
+
|
|
156
|
+
- name: Download all artifacts
|
|
157
|
+
uses: actions/download-artifact@v4
|
|
158
|
+
with:
|
|
159
|
+
path: artifacts
|
|
160
|
+
|
|
161
|
+
- name: Generate consolidated report
|
|
162
|
+
run: |
|
|
163
|
+
echo "# Test Results Summary" > test-summary.md
|
|
164
|
+
echo "" >> test-summary.md
|
|
165
|
+
echo "## Browser Tests" >> test-summary.md
|
|
166
|
+
for browser in chromium firefox webkit; do
|
|
167
|
+
if [ -d "artifacts/playwright-results-$browser" ]; then
|
|
168
|
+
echo "- ✅ $browser tests completed" >> test-summary.md
|
|
169
|
+
else
|
|
170
|
+
echo "- ❌ $browser tests failed" >> test-summary.md
|
|
171
|
+
fi
|
|
172
|
+
done
|
|
173
|
+
echo "" >> test-summary.md
|
|
174
|
+
echo "## Accessibility Tests" >> test-summary.md
|
|
175
|
+
if [ -d "artifacts/accessibility-results" ]; then
|
|
176
|
+
echo "- ✅ Accessibility tests completed" >> test-summary.md
|
|
177
|
+
else
|
|
178
|
+
echo "- ❌ Accessibility tests failed" >> test-summary.md
|
|
179
|
+
fi
|
|
180
|
+
echo "" >> test-summary.md
|
|
181
|
+
echo "## Visual Regression Tests" >> test-summary.md
|
|
182
|
+
if [ -d "artifacts/visual-regression-results" ]; then
|
|
183
|
+
echo "- ✅ Visual regression tests completed" >> test-summary.md
|
|
184
|
+
else
|
|
185
|
+
echo "- ❌ Visual regression tests failed" >> test-summary.md
|
|
186
|
+
fi
|
|
187
|
+
echo "" >> test-summary.md
|
|
188
|
+
echo "## Mobile Tests" >> test-summary.md
|
|
189
|
+
if [ -d "artifacts/mobile-test-results" ]; then
|
|
190
|
+
echo "- ✅ Mobile tests completed" >> test-summary.md
|
|
191
|
+
else
|
|
192
|
+
echo "- ❌ Mobile tests failed" >> test-summary.md
|
|
193
|
+
fi
|
|
194
|
+
|
|
195
|
+
- name: Convert markdown to HTML
|
|
196
|
+
run: |
|
|
197
|
+
npm install -g markdown-cli
|
|
198
|
+
npx markdown-cli test-summary.md > test-summary.html
|
|
199
|
+
- name: Upload consolidated report
|
|
200
|
+
uses: actions/upload-artifact@v4
|
|
201
|
+
with:
|
|
202
|
+
name: consolidated-test-report
|
|
203
|
+
path: |
|
|
204
|
+
test-summary.md
|
|
205
|
+
test-summary.html
|
|
206
206
|
retention-days: 30
|
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
# .github/workflows/deploy-github-pages.yaml
|
|
2
|
-
|
|
3
|
-
# Workflow name
|
|
4
|
-
name: Build and Publish Storybook to GitHub Pages
|
|
5
|
-
|
|
6
|
-
on:
|
|
7
|
-
push:
|
|
8
|
-
branches: [develop]
|
|
9
|
-
pull_request:
|
|
10
|
-
branches: [develop]
|
|
11
|
-
|
|
12
|
-
permissions:
|
|
13
|
-
contents: read
|
|
14
|
-
pages: write
|
|
15
|
-
id-token: write
|
|
16
|
-
|
|
17
|
-
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
|
|
18
|
-
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
|
|
19
|
-
concurrency:
|
|
20
|
-
group: "pages"
|
|
21
|
-
cancel-in-progress: false
|
|
22
|
-
|
|
23
|
-
jobs:
|
|
24
|
-
# Build job
|
|
25
|
-
build:
|
|
26
|
-
runs-on: ubuntu-latest
|
|
27
|
-
steps:
|
|
28
|
-
- name: Checkout
|
|
29
|
-
uses: actions/checkout@v4
|
|
30
|
-
|
|
31
|
-
- name: Setup Node
|
|
32
|
-
uses: actions/setup-node@v4
|
|
33
|
-
with:
|
|
34
|
-
node-version: '20'
|
|
35
|
-
cache: 'npm'
|
|
36
|
-
|
|
37
|
-
- name: Setup Pages
|
|
38
|
-
uses: actions/configure-pages@v5
|
|
39
|
-
|
|
40
|
-
- name: Install dependencies
|
|
41
|
-
run: npm ci
|
|
42
|
-
|
|
43
|
-
- name: Build Storybook
|
|
44
|
-
run: npm run build-storybook
|
|
45
|
-
|
|
46
|
-
- name: Upload artifact
|
|
47
|
-
uses: actions/upload-pages-artifact@v3
|
|
48
|
-
with:
|
|
49
|
-
path: ./storybook-static
|
|
50
|
-
|
|
51
|
-
# Deployment job
|
|
52
|
-
deploy:
|
|
53
|
-
environment:
|
|
54
|
-
name: github-pages
|
|
55
|
-
url: ${{ steps.deployment.outputs.page_url }}
|
|
56
|
-
runs-on: ubuntu-latest
|
|
57
|
-
needs: build
|
|
58
|
-
if: github.ref == 'refs/heads/develop' && github.event_name == 'push'
|
|
59
|
-
steps:
|
|
60
|
-
- name: Deploy to GitHub Pages
|
|
61
|
-
id: deployment
|
|
1
|
+
# .github/workflows/deploy-github-pages.yaml
|
|
2
|
+
|
|
3
|
+
# Workflow name
|
|
4
|
+
name: Build and Publish Storybook to GitHub Pages
|
|
5
|
+
|
|
6
|
+
on:
|
|
7
|
+
push:
|
|
8
|
+
branches: [develop]
|
|
9
|
+
pull_request:
|
|
10
|
+
branches: [develop]
|
|
11
|
+
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
pages: write
|
|
15
|
+
id-token: write
|
|
16
|
+
|
|
17
|
+
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
|
|
18
|
+
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
|
|
19
|
+
concurrency:
|
|
20
|
+
group: "pages"
|
|
21
|
+
cancel-in-progress: false
|
|
22
|
+
|
|
23
|
+
jobs:
|
|
24
|
+
# Build job
|
|
25
|
+
build:
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
steps:
|
|
28
|
+
- name: Checkout
|
|
29
|
+
uses: actions/checkout@v4
|
|
30
|
+
|
|
31
|
+
- name: Setup Node
|
|
32
|
+
uses: actions/setup-node@v4
|
|
33
|
+
with:
|
|
34
|
+
node-version: '20'
|
|
35
|
+
cache: 'npm'
|
|
36
|
+
|
|
37
|
+
- name: Setup Pages
|
|
38
|
+
uses: actions/configure-pages@v5
|
|
39
|
+
|
|
40
|
+
- name: Install dependencies
|
|
41
|
+
run: npm ci
|
|
42
|
+
|
|
43
|
+
- name: Build Storybook
|
|
44
|
+
run: npm run build-storybook
|
|
45
|
+
|
|
46
|
+
- name: Upload artifact
|
|
47
|
+
uses: actions/upload-pages-artifact@v3
|
|
48
|
+
with:
|
|
49
|
+
path: ./storybook-static
|
|
50
|
+
|
|
51
|
+
# Deployment job
|
|
52
|
+
deploy:
|
|
53
|
+
environment:
|
|
54
|
+
name: github-pages
|
|
55
|
+
url: ${{ steps.deployment.outputs.page_url }}
|
|
56
|
+
runs-on: ubuntu-latest
|
|
57
|
+
needs: build
|
|
58
|
+
if: github.ref == 'refs/heads/develop' && github.event_name == 'push'
|
|
59
|
+
steps:
|
|
60
|
+
- name: Deploy to GitHub Pages
|
|
61
|
+
id: deployment
|
|
62
62
|
uses: actions/deploy-pages@v4
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
name: Visual Regression Snapshots
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
workflow_dispatch:
|
|
5
|
-
|
|
6
|
-
jobs:
|
|
7
|
-
update-snapshots:
|
|
8
|
-
runs-on: ubuntu-latest
|
|
9
|
-
steps:
|
|
10
|
-
- uses: actions/checkout@v4
|
|
11
|
-
|
|
12
|
-
- uses: actions/setup-node@v4
|
|
13
|
-
with:
|
|
14
|
-
node-version: 18
|
|
15
|
-
cache: 'npm'
|
|
16
|
-
|
|
17
|
-
- name: Install dependencies
|
|
18
|
-
run: npm ci
|
|
19
|
-
|
|
20
|
-
- name: Install Playwright Browsers
|
|
21
|
-
run: npx playwright install --with-deps
|
|
22
|
-
|
|
23
|
-
- name: Build Storybook
|
|
24
|
-
run: npm run build-storybook
|
|
25
|
-
|
|
26
|
-
- name: Run visual regression tests
|
|
27
|
-
run: npx playwright test tests/e2e/visual-regression.spec.ts --update-snapshots
|
|
28
|
-
|
|
29
|
-
- name: Upload updated snapshots
|
|
30
|
-
if: always()
|
|
31
|
-
uses: actions/upload-artifact@v4
|
|
32
|
-
with:
|
|
33
|
-
name: visual-snapshots
|
|
34
|
-
path: |
|
|
35
|
-
tests/e2e/
|
|
36
|
-
playwright-report/
|
|
37
|
-
# <-- this is exactly where your pathTemplate points,
|
|
1
|
+
name: Visual Regression Snapshots
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
update-snapshots:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
steps:
|
|
10
|
+
- uses: actions/checkout@v4
|
|
11
|
+
|
|
12
|
+
- uses: actions/setup-node@v4
|
|
13
|
+
with:
|
|
14
|
+
node-version: 18
|
|
15
|
+
cache: 'npm'
|
|
16
|
+
|
|
17
|
+
- name: Install dependencies
|
|
18
|
+
run: npm ci
|
|
19
|
+
|
|
20
|
+
- name: Install Playwright Browsers
|
|
21
|
+
run: npx playwright install --with-deps
|
|
22
|
+
|
|
23
|
+
- name: Build Storybook
|
|
24
|
+
run: npm run build-storybook
|
|
25
|
+
|
|
26
|
+
- name: Run visual regression tests
|
|
27
|
+
run: npx playwright test tests/e2e/visual-regression.spec.ts --update-snapshots
|
|
28
|
+
|
|
29
|
+
- name: Upload updated snapshots
|
|
30
|
+
if: always()
|
|
31
|
+
uses: actions/upload-artifact@v4
|
|
32
|
+
with:
|
|
33
|
+
name: visual-snapshots
|
|
34
|
+
path: |
|
|
35
|
+
tests/e2e/
|
|
36
|
+
playwright-report/
|
|
37
|
+
# <-- this is exactly where your pathTemplate points,
|
|
38
38
|
# so you’ll get all of the fresh baseline images as an artifact.
|
package/.prettierrc
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
{
|
|
2
|
-
"singleQuote": true,
|
|
3
|
-
"printWidth": 80,
|
|
4
|
-
"tabWidth": 2
|
|
5
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"singleQuote": true,
|
|
3
|
+
"printWidth": 80,
|
|
4
|
+
"tabWidth": 2
|
|
5
|
+
}
|
package/.storybook/main.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import type { StorybookConfig } from '@storybook/vue3-vite';
|
|
2
|
-
|
|
3
|
-
const config: StorybookConfig = {
|
|
4
|
-
stories: ['../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
|
|
5
|
-
addons: [
|
|
6
|
-
'@storybook/addon-onboarding',
|
|
7
|
-
'@storybook/addon-links',
|
|
8
|
-
'@storybook/addon-essentials',
|
|
9
|
-
'@chromatic-com/storybook',
|
|
10
|
-
'@storybook/addon-interactions',
|
|
11
|
-
'@storybook/addon-docs',
|
|
12
|
-
],
|
|
13
|
-
framework: {
|
|
14
|
-
name: '@storybook/vue3-vite',
|
|
15
|
-
options: {},
|
|
16
|
-
},
|
|
17
|
-
};
|
|
18
|
-
export default config;
|
|
1
|
+
import type { StorybookConfig } from '@storybook/vue3-vite';
|
|
2
|
+
|
|
3
|
+
const config: StorybookConfig = {
|
|
4
|
+
stories: ['../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
|
|
5
|
+
addons: [
|
|
6
|
+
'@storybook/addon-onboarding',
|
|
7
|
+
'@storybook/addon-links',
|
|
8
|
+
'@storybook/addon-essentials',
|
|
9
|
+
'@chromatic-com/storybook',
|
|
10
|
+
'@storybook/addon-interactions',
|
|
11
|
+
'@storybook/addon-docs',
|
|
12
|
+
],
|
|
13
|
+
framework: {
|
|
14
|
+
name: '@storybook/vue3-vite',
|
|
15
|
+
options: {},
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
export default config;
|