1- import { expect , test } from "@playwright/test" ;
1+ import { expect , test , type Page } from "@playwright/test" ;
22import { and , eq , like } from "drizzle-orm" ;
33import db from "@/lib/db" ;
44import { verifications } from "@/lib/schema" ;
@@ -13,7 +13,22 @@ test.describe("Auth pages", () => {
1313 await ensureServicestartOrganization ( ) ;
1414 } ) ;
1515
16- test . describe ( "signup" , ( ) => {
16+ test . describe . serial ( "signup" , ( ) => {
17+ test . beforeEach ( async ( { page } ) => {
18+ await page . context ( ) . clearCookies ( ) ;
19+ } ) ;
20+
21+ async function fillPasswordFields ( page : Page , password : string ) {
22+ const passwordField = page . getByLabel ( "Password" , { exact : true } ) ;
23+ const confirmField = page . getByLabel ( "Confirm Password" , {
24+ exact : true ,
25+ } ) ;
26+ await passwordField . fill ( password ) ;
27+ await confirmField . fill ( password ) ;
28+ await expect ( passwordField ) . toHaveValue ( password ) ;
29+ await expect ( confirmField ) . toHaveValue ( password ) ;
30+ }
31+
1732 test ( "shows inline errors instead of submitting an invalid form" , async ( {
1833 page,
1934 } ) => {
@@ -54,16 +69,13 @@ test.describe("Auth pages", () => {
5469 page,
5570 } ) => {
5671 const user = buildTestUser ( ) ;
57- await signUpAndGetSession ( user ) ;
72+ await signUpAndGetSession ( user , "servicestart" ) ;
5873 await page . goto ( "/signup" ) ;
5974
6075 await page . getByLabel ( "First Name" ) . fill ( "Existing" ) ;
6176 await page . getByLabel ( "Last Name" ) . fill ( "User" ) ;
6277 await page . getByLabel ( "Email" ) . fill ( user . email ) ;
63- await page . getByLabel ( "Password" , { exact : true } ) . fill ( user . password ) ;
64- await page
65- . getByLabel ( "Confirm Password" , { exact : true } )
66- . fill ( user . password ) ;
78+ await fillPasswordFields ( page , user . password ) ;
6779 await page . getByRole ( "button" , { name : "Create Account" } ) . click ( ) ;
6880
6981 const message = page . getByTestId ( "form-message" ) ;
@@ -79,10 +91,7 @@ test.describe("Auth pages", () => {
7991 await page . getByLabel ( "First Name" ) . fill ( "New" ) ;
8092 await page . getByLabel ( "Last Name" ) . fill ( "Volunteer" ) ;
8193 await page . getByLabel ( "Email" ) . fill ( user . email ) ;
82- await page . getByLabel ( "Password" , { exact : true } ) . fill ( user . password ) ;
83- await page
84- . getByLabel ( "Confirm Password" , { exact : true } )
85- . fill ( user . password ) ;
94+ await fillPasswordFields ( page , user . password ) ;
8695 await page . getByRole ( "button" , { name : "Create Account" } ) . click ( ) ;
8796
8897 await expect ( page . getByText ( AuthMessage . AccountCreated ) ) . toBeVisible ( ) ;
@@ -96,7 +105,7 @@ test.describe("Auth pages", () => {
96105 test . describe ( "login" , ( ) => {
97106 test ( "says when the password is wrong" , async ( { page } ) => {
98107 const user = buildTestUser ( ) ;
99- await signUpAndGetSession ( user ) ;
108+ await signUpAndGetSession ( user , "servicestart" ) ;
100109 await page . goto ( "/login" ) ;
101110
102111 await page . getByLabel ( "Email" ) . fill ( user . email ) ;
@@ -135,7 +144,7 @@ test.describe("Auth pages", () => {
135144
136145 test ( "forgot password sends a reset email" , async ( { page } ) => {
137146 const user = buildTestUser ( ) ;
138- const { user : created } = await signUpAndGetSession ( user ) ;
147+ const { user : created } = await signUpAndGetSession ( user , "servicestart" ) ;
139148 await page . goto ( "/forgotpassword" ) ;
140149
141150 await page . getByLabel ( "Email" ) . fill ( user . email ) ;
0 commit comments