@@ -107,6 +107,17 @@ test.describe("Goaly App", () => {
107107 await expect ( page . getByRole ( "heading" , { name : "Your Active Goals" } ) )
108108 . toBeVisible ( ) ;
109109
110+ // Create a goal first so that there are instances to delete during sync
111+ await page . getByRole ( "button" , { name : "Add Goal" } ) . click ( ) ;
112+ await expect ( page . getByRole ( "heading" , { name : "New Goal" } ) ) . toBeVisible ( ) ;
113+
114+ const testGoalName = `Sync Test Goal ${ Date . now ( ) } ` ;
115+ await page . getByRole ( "textbox" , { name : "I want to..." } ) . fill ( testGoalName ) ;
116+ await page . locator ( "label" ) . filter ( { hasText : "Morning 6am - 12pm" } ) . click ( ) ;
117+ await page . getByRole ( "button" , { name : "Save Goal" } ) . click ( ) ;
118+
119+ await expect ( page . getByRole ( "heading" , { name : testGoalName } ) ) . toBeVisible ( ) ;
120+
110121 page . once ( "dialog" , ( dialog ) => {
111122 dialog . accept ( ) . catch ( ( ) => { } ) ;
112123 } ) ;
@@ -119,6 +130,12 @@ test.describe("Goaly App", () => {
119130 await expect (
120131 page . getByText ( "Your goals have been re-scheduled into your calendar." ) ,
121132 ) . toBeVisible ( ) ;
133+
134+ // Clean up
135+ page . on ( "dialog" , ( dialog ) => dialog . accept ( ) ) ;
136+ await page . locator ( "details" , { hasText : testGoalName } ) . getByRole ( "heading" , { name : testGoalName } ) . click ( ) ;
137+ await page . locator ( "details" , { hasText : testGoalName } ) . getByRole ( "button" , { name : "Delete Goal" } ) . click ( ) ;
138+ await expect ( page . getByRole ( "heading" , { name : testGoalName } ) ) . not . toBeVisible ( ) ;
122139 } ) ;
123140
124141 test ( "should allow user to logout" , async ( { page } ) => {
0 commit comments