Skip to content
This repository was archived by the owner on May 12, 2026. It is now read-only.

Commit 313d921

Browse files
committed
Adding playright ids for testing. plus unreadCount ts
1 parent d9b3f84 commit 313d921

7 files changed

Lines changed: 28 additions & 8 deletions

File tree

src/lib/components/LegalDocumentModal.svelte

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
<Dialog.Trigger
6868
type="button"
6969
class="rounded text-primary-500 hover:underline focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 focus:outline-none"
70+
data-testid="legal-trigger-{documentName}"
7071
>
7172
{triggerText}
7273
</Dialog.Trigger>
@@ -148,6 +149,7 @@
148149
onclick={handleAccept}
149150
disabled={false}
150151
class="rounded-md border border-transparent bg-primary-500 px-4 py-2 text-sm font-medium text-white hover:bg-primary-600 focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50"
152+
data-testid="legal-accept"
151153
>
152154
I Accept
153155
</button>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
class UnreadCountStore {
2+
total = $state(0);
3+
4+
set(count: number) {
5+
this.total = count;
6+
}
7+
8+
/** Clear the unread count for a room the user is currently viewing. */
9+
clearRoom(roomCount: number) {
10+
this.total = Math.max(0, this.total - roomCount);
11+
}
12+
}
13+
14+
export const unreadCount = new UnreadCountStore();

src/routes/forgot-password/+page.svelte

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
{#if form?.success}
2323
<!-- Success Message -->
2424
<div class="mx-auto w-full max-w-md space-y-4">
25-
<div class="rounded-lg border border-success-500 bg-success-500/10 p-6 text-center">
25+
<div class="rounded-lg border border-success-500 bg-success-500/10 p-6 text-center" data-testid="forgot-password-success">
2626
<div class="flex justify-center mb-4">
2727
<svg class="h-16 w-16 text-success-500" fill="currentColor" viewBox="0 0 20 20">
2828
<path
@@ -96,6 +96,7 @@
9696
disabled={!canSubmit}
9797
class="btn preset-filled-primary-500 w-full disabled:cursor-not-allowed disabled:opacity-50"
9898
aria-label="Send Reset Link"
99+
data-testid="submit-forgot-password"
99100
>
100101
{#if !canSubmit}
101102
Enter Username and Email

src/routes/login/+page.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
{/if}
104104

105105
{#if data.errorMessage}
106-
<div class="mt-4 p-4 rounded-lg bg-red-500/20 border border-red-500/50">
106+
<div class="mt-4 p-4 rounded-lg bg-red-500/20 border border-red-500/50" data-testid="login-error">
107107
<div class="flex items-start justify-between gap-2">
108108
<div class="flex items-start gap-3 flex-1 min-w-0">
109109
<span class="text-red-400 text-xl flex-shrink-0">⚠</span>
@@ -178,7 +178,7 @@
178178
<div class="space-y-3 mt-4">
179179
<p class="text-center text-sm text-gray-300">Choose your authentication provider:</p>
180180
{#each data.availableProviders as provider}
181-
<button type="button" class="btn preset-filled-primary-500 mx-auto w-full">
181+
<button type="button" class="btn preset-filled-primary-500 mx-auto w-full" data-testid="provider-{provider.provider}">
182182
<a href="/login/{provider.provider}" class="w-full flex items-center justify-between">
183183
<span class="flex items-center gap-2">
184184
<span class="text-green-400">●</span>

src/routes/register/+page.svelte

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@
107107
<article class="space-y-4 p-4">
108108
<form class="mx-auto w-full max-w-md space-y-6" method="POST">
109109
{#if showError && form?.error}
110-
<div class="bg-error-500/10 border-error-500 rounded-lg border p-4 text-center">
110+
<div class="bg-error-500/10 border-error-500 rounded-lg border p-4 text-center" data-testid="registration-error">
111111
<p class="text-error-500 font-semibold">{form?.error}</p>
112112
</div>
113113
{/if}
@@ -291,7 +291,7 @@
291291
</div>
292292
<hr class="hr" />
293293
{#if showError && form?.error}
294-
<div class="bg-error-500/10 border-error-500 rounded-lg border p-4 text-center">
294+
<div class="bg-error-500/10 border-error-500 rounded-lg border p-4 text-center" data-testid="registration-error">
295295
<p class="text-error-500 font-semibold">{form?.error}</p>
296296
</div>
297297
{/if}
@@ -300,6 +300,7 @@
300300
disabled={!canSubmit}
301301
class="btn preset-filled-primary-500 mt-5 w-full disabled:cursor-not-allowed disabled:opacity-50"
302302
aria-label="submit"
303+
data-testid="submit-registration"
303304
>
304305
{#if !termsAccepted || !privacyAccepted}
305306
Please Accept Legal Documents

src/routes/reset-password/[token]/+page.svelte

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
<article class="space-y-4 p-4">
5959
<form class="mx-auto w-full max-w-md space-y-6" method="POST">
6060
{#if form?.error}
61-
<div class="bg-error-500/10 border-error-500 rounded-lg border p-4 text-center">
61+
<div class="bg-error-500/10 border-error-500 rounded-lg border p-4 text-center" data-testid="reset-password-error">
6262
<p class="text-error-500 font-semibold">{form.error}</p>
6363
</div>
6464
{/if}
@@ -161,6 +161,7 @@
161161
disabled={!canSubmit}
162162
class="btn preset-filled-primary-500 mt-5 w-full disabled:cursor-not-allowed disabled:opacity-50"
163163
aria-label="Reset Password"
164+
data-testid="submit-reset-password"
164165
>
165166
{#if !isPasswordValid}
166167
Password Must Meet Requirements

src/routes/user-validation/+page.svelte

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
</header>
1414
<article class="space-y-4 p-4">
1515
{#if data.success}
16-
<div class="preset-filled-success-50-950 shadow-md rounded-lg p-6 m-1.5 text-center">
16+
<div class="preset-filled-success-50-950 shadow-md rounded-lg p-6 m-1.5 text-center" data-testid="validation-success">
1717
<div class="flex justify-center mb-4">
1818
<CheckCircle class="h-16 w-16 text-success-500" />
1919
</div>
@@ -26,13 +26,14 @@
2626
<a
2727
href="/login"
2828
class="btn preset-filled-primary-500 hover:preset-filled-primary-600"
29+
data-testid="go-to-login"
2930
>
3031
Go to Login
3132
</a>
3233
</div>
3334
</div>
3435
{:else}
35-
<div class="preset-filled-error-50-950 shadow-md rounded-lg p-6 m-1.5 text-center">
36+
<div class="preset-filled-error-50-950 shadow-md rounded-lg p-6 m-1.5 text-center" data-testid="validation-error">
3637
<div class="flex justify-center mb-4">
3738
<XCircle class="h-16 w-16 text-error-500" />
3839
</div>

0 commit comments

Comments
 (0)