Skip to content

Commit 6b2c71e

Browse files
test: Add tests for components
1 parent 9f38fdf commit 6b2c71e

33 files changed

+72251
-3118
lines changed

.eslintrc.cjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ module.exports = {
44
parserOptions: {
55
parser: '@typescript-eslint/parser',
66
ecmaVersion: 'latest',
7-
project: ['./tsconfig.json']
7+
project: ['./tsconfig.json', "./tsconfig-tests.json"]
88
},
99
overrides: [
1010
{

package-lock.json

Lines changed: 13723 additions & 3086 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@
1111
"types": "vue-tsc ",
1212
"preview": "vite preview",
1313
"lint": "eslint src/",
14-
"storybook": "storybook dev -p 6006"
14+
"storybook": "storybook dev -p 6006",
15+
"test": "vitest",
16+
"coverage": "vitest run --coverage"
1517
},
1618
"repository": {
1719
"type": "git",
@@ -38,21 +40,27 @@
3840
"@storybook/test": "^8.0.5",
3941
"@storybook/vue3": "^8.0.5",
4042
"@storybook/vue3-vite": "^8.0.5",
43+
"@testing-library/vue": "^8.0.3",
44+
"@types/jsdom": "^21.1.6",
4145
"@types/node": "^20.2.5",
4246
"@types/pubsub-js": "^1.8.6",
4347
"@typescript-eslint/parser": "^7.5.0",
4448
"@vitejs/plugin-vue": "^5.0.4",
49+
"@vitest/coverage-istanbul": "^1.5.2",
50+
"@vitest/coverage-v8": "^1.5.2",
4551
"@vue/eslint-config-airbnb": "^8.0.0",
4652
"@vue/eslint-config-prettier": "^9.0.0",
4753
"@vue/eslint-config-typescript": "^13.0.0",
4854
"eslint-plugin-storybook": "^0.8.0",
4955
"eslint-plugin-vue": "^9.24.0",
56+
"happy-dom": "^14.7.1",
5057
"path": "^0.12.7",
51-
"storybook": "^8.0.5",
5258
"pubsub-js": "^1.9.4",
59+
"storybook": "^8.0.5",
5360
"typescript": "^5.3.3",
5461
"vite": "^5.1.6",
5562
"vite-plugin-css-injected-by-js": "^3.4.0",
63+
"vitest": "^1.5.2",
5664
"vue-tsc": "^2.0.5"
5765
},
5866
"peerDependencies": {
@@ -65,6 +73,7 @@
6573
"license"
6674
],
6775
"dependencies": {
76+
"jsdom": "^24.0.0",
6877
"test_notification": "1.1.0"
6978
}
7079
}

src/components/EmptyList.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="siren-sdk-empty-container">
2+
<div class="siren-sdk-empty-container" data-testid="empty-container">
33
<div :style="containerStyle" class="siren-sdk-empty-icon-container">
44
<img
55
:src="darkMode ? darkIcon : lightIcon"

src/components/ErrorWindow.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="siren-sdk-error-window-container">
2+
<div class="siren-sdk-error-window-container" data-testid="error-window">
33
<div :style="containerStyle" class="siren-sdk-error-icon-container">
44
<img
55
src="../assets/errorIcon.svg"

src/components/HeaderComponent.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@
55
...styles.headerContainer,
66
}"
77
class="siren-sdk-header-container"
8+
data-testid="header-container"
89
>
910
<p :style="styles.headerTitle" class="siren-sdk-text-break">{{ title }}</p>
1011
<div
1112
v-if="!hideClearAll"
13+
data-testid="clear-all"
1214
@click="handleClearAllNotification"
1315
@keydown="handleClearAllNotification"
1416
:style="{

src/components/LoadMore.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="siren-sdk-load-more-container">
2+
<div class="siren-sdk-load-more-container" data-testid="load-more-container">
33
<div
44
:class="
55
paginationLoading
@@ -9,6 +9,7 @@
99
:style="paginationLoading ? styles.infiniteLoader : styles.loadMoreButton"
1010
@click="onLoadMore"
1111
@keydown="onLoadMore"
12+
data-testid="on-load-more"
1213
>
1314
<slot name="loadMoreComponent">{{
1415
!paginationLoading ? "Load more" : ""

src/components/LoaderComponent.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="siren-sdk-loader-container">
2+
<div class="siren-sdk-loader-container" data-testid="loader-container">
33
<div
44
v-for="number in 5"
55
:key="number"

src/components/NotificationCard.vue

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@
22
<div :style="cardContainerStyle" :class="`${cardProps?.hideAvatar
33
? 'siren-sdk-hide-avatar-card-container'
44
: 'siren-sdk-card-container'} siren-sdk-card-common-container ${deleteAnimation}`"
5-
@click="handleNotificationCardClick" @keydown="handleNotificationCardClick">
5+
@click="handleNotificationCardClick" @keydown="handleNotificationCardClick"
6+
data-testid="notification-card-container">
67
<div :style="{
78
...styles.cardIconRound,
89
backgroundImage: `url(${props?.notification?.message?.avatar?.imageUrl || defaultAvatar})`,
910
backgroundSize: 'cover',
1011
backgroundPosition: 'center',
1112
...(props?.cardProps?.onAvatarClick && { cursor: 'pointer' }),
12-
}" @click="handleAvatarClick" @keydown="handleAvatarClick" v-if="!cardProps?.hideAvatar" />
13+
}" @click="handleAvatarClick" @keydown="handleAvatarClick" v-if="!cardProps?.hideAvatar" data-testid="avatar-container" />
1314
<div class="siren-sdk-card-content-wrapper">
1415
<div :style="styles.cardTitle" class="siren-sdk-card-title">
1516
{{ props.notification?.message?.header }}
@@ -27,7 +28,7 @@
2728
</div>
2829
</div>
2930
</div>
30-
<div class="siren-sdk-delete-button" @click="handleDelete" @keydown="handleDelete" v-if="!cardProps?.hideDelete">
31+
<div class="siren-sdk-delete-button" @click="handleDelete" @keydown="handleDelete" data-testid="delete-notification-button" v-if="!cardProps?.hideDelete">
3132
<CloseIcon :fill="styles?.deleteIcon?.color" :size="String(styles?.deleteIcon?.size)" />
3233
</div>
3334
</div>

src/components/NotificationIcon.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<div
33
class="siren-sdk-notification-icon-container"
44
:onClick="handleNotification"
5+
data-testid="notification-icon-container"
56
>
67
<slot name="notification-icon">
78
<BellIcon :stroke=" darkMode

0 commit comments

Comments
 (0)