Running 287 tests using 6 workers [1/287] [setup-no-pin] › e2e\auth-no-pin.setup.ts:11:7 › authenticate without parent pin [2/287] [setup] › e2e\auth.setup.ts:4:1 › authenticate [3/287] [chromium-child-options] › e2e\mode_parent\child-options\delete-child.spec.ts:23:3 › Child kebab menu – Delete Child › Confirm deletes the child from the list [4/287] [setup-cc] › e2e\auth-cc.setup.ts:6:1 › authenticate create-child isolated user [5/287] [setup-delete] › e2e\auth-delete.setup.ts:11:1 › authenticate delete user [6/287] [chromium-child-options] › e2e\mode_parent\child-options\edit-child.spec.ts:24:3 › Child kebab menu – Edit Child › Edit Child menu item navigates to the child editor [7/287] [chromium-default-tasks] › e2e\mode_parent\tasks\chore-convert-default.spec.ts:6:1 › Convert a default chore to a user item by editing [8/287] [chromium-child-options] › e2e\mode_parent\child-options\delete-points.spec.ts:25:3 › Child kebab menu – Delete Points › Delete Points resets child points to 0 [9/287] [chromium-default-tasks] › e2e\mode_parent\tasks\chore-delete-default.spec.ts:6:1 › Edit default chore "Take out trash" and verify system chore restoration on delete [10/287] [chromium-child-options] › e2e\mode_parent\child-options\delete-child.spec.ts:39:3 › Child kebab menu – Delete Child › Cancel does not delete the child [11/287] [chromium-default-tasks] › e2e\mode_parent\tasks\penalty-default.spec.ts:28:3 › Default penalty management › Convert a default penalty to a user item by editing [12/287] [chromium-default-tasks] › e2e\mode_parent\tasks\kindness-default.spec.ts:31:3 › Default kindness act management › Convert a default kindness act to a user item by editing [13/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\assign-title-shows-child-name.spec.ts:28:3 › Assign view heading shows child name › "Assign Chores" heading contains child name [14/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\assign-title-shows-child-name.spec.ts:35:3 › Assign view heading shows child name › "Assign Rewards" heading contains child name [15/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\assign-title-shows-child-name.spec.ts:42:3 › Assign view heading shows child name › "Assign Kindness Acts" heading contains child name [16/287] [chromium-default-tasks] › e2e\mode_parent\tasks\kindness-default.spec.ts:63:3 › Default kindness act management › Edit default kindness act "Be good for the day" and verify system act restoration on delete [17/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\assign-title-shows-child-name.spec.ts:49:3 › Assign view heading shows child name › "Assign Penalties" heading contains child name [18/287] [chromium-default-tasks] › e2e\mode_parent\tasks\penalty-default.spec.ts:65:3 › Default penalty management › Edit default penalty "Fighting" and verify system penalty restoration on delete [19/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\chore-assignment.spec.ts:64:3 › Chore assignment › "Assign Chores" button navigates to the chore assign view [20/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\kindness-assignment.spec.ts:54:3 › Kindness act assignment › "Assign Kindness Acts" button navigates to the kindness assign view [21/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\penalty-assignment.spec.ts:64:3 › Penalty assignment › "Assign Penalties" button navigates to the penalty assign view [22/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\reward-assignment.spec.ts:60:3 › Reward assignment › "Assign Rewards" button navigates to the reward assign view [23/287] [chromium-task-activation] › e2e\mode_parent\task-activation\chore-activation.spec.ts:94:3 › Chore activation › Kebab button appears after first chore click [24/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\kindness-assignment.spec.ts:72:3 › Kindness act assignment › Select a kindness act and submit — item appears in ParentView [25/287] [chromium-task-activation] › e2e\mode_parent\task-activation\general-chore-no-completed.spec.ts:85:3 › General chore — no COMPLETED stamp › Approving a general chore awards points [26/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\chore-assignment.spec.ts:83:3 › Chore assignment › Select chores and submit — items appear in ParentView chores section [27/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\kindness-assignment.spec.ts:90:3 › Kindness act assignment › Re-opening assign view shows the assigned item as pre-checked [28/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\penalty-assignment.spec.ts:83:3 › Penalty assignment › Select penalties and submit — items appear in ParentView penalties section [29/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\kindness-assignment.spec.ts:99:3 › Kindness act assignment › Uncheck the kindness act and submit — item is removed from ParentView [30/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\chore-assignment.spec.ts:108:3 › Chore assignment › Re-opening assign view shows assigned items as pre-checked [31/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\chore-assignment.spec.ts:126:3 › Chore assignment › Uncheck all chores and submit — items are removed from ParentView [32/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\penalty-assignment.spec.ts:110:3 › Penalty assignment › Re-opening assign view shows assigned penalties as pre-checked [33/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\kindness-assignment.spec.ts:120:3 › Kindness act assignment › Cancel does not persist selection changes [34/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\penalty-assignment.spec.ts:128:3 › Penalty assignment › Uncheck all penalties and submit — items are removed from ParentView [35/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\reward-assignment.spec.ts:79:3 › Reward assignment › Select rewards and submit — items appear in ParentView rewards section [36/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\chore-assignment.spec.ts:151:3 › Chore assignment › Cancel does not persist selection changes [37/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\penalty-assignment.spec.ts:153:3 › Penalty assignment › Cancel does not persist selection changes [38/287] [chromium-task-activation] › e2e\mode_parent\task-activation\chore-activation.spec.ts:108:3 › Chore activation › Kebab button disappears when clicking a non-chore item [39/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\reward-assignment.spec.ts:106:3 › Reward assignment › Re-opening assign view shows assigned rewards as pre-checked [40/287] [chromium-task-activation] › e2e\mode_parent\task-activation\chore-activation.spec.ts:125:3 › Chore activation › Cancel chore confirmation — no points awarded [41/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\reward-assignment.spec.ts:124:3 › Reward assignment › Uncheck all rewards and submit — items are removed from ParentView [42/287] [chromium-task-activation] › e2e\mode_parent\task-activation\general-chore-no-completed.spec.ts:99:3 › General chore — no COMPLETED stamp › General chore does NOT show COMPLETED stamp after approval [43/287] [chromium-task-activation] › e2e\mode_parent\task-activation\kindness-activation.spec.ts:74:3 › Kindness act activation › Edit button appears on first kindness act click [44/287] [chromium-task-assignment] › e2e\mode_parent\task-assignment\reward-assignment.spec.ts:149:3 › Reward assignment › Cancel does not persist selection changes [45/287] [chromium-task-activation] › e2e\mode_parent\task-activation\general-chore-no-completed.spec.ts:107:3 › General chore — no COMPLETED stamp › General chore can be triggered again immediately after approval [46/287] [chromium-task-activation] › e2e\mode_parent\task-activation\chore-activation.spec.ts:140:3 › Chore activation › Confirm chore activation — points awarded [47/287] [chromium-task-activation] › e2e\mode_parent\task-activation\general-chore-no-completed.spec.ts:117:3 › General chore — no COMPLETED stamp › Scheduled chore DOES show COMPLETED after approval [48/287] [chromium-task-activation] › e2e\mode_parent\task-activation\penalty-activation.spec.ts:81:3 › Penalty activation › Edit button appears on first penalty click [49/287] [chromium-task-activation] › e2e\mode_parent\task-activation\chore-activation.spec.ts:154:3 › Chore activation › Confirmed chore shows COMPLETED stamp [50/287] [chromium-task-activation] › e2e\mode_parent\task-activation\pending-reward-warning.spec.ts:161:3 › Pending reward warning dialog › Pending reward card shows PENDING banner [51/287] [chromium-task-activation] › e2e\mode_parent\task-activation\chore-activation.spec.ts:161:3 › Chore activation › Clicking a completed chore does not open confirmation [52/287] [chromium-task-activation] › e2e\mode_parent\task-activation\kindness-activation.spec.ts:88:3 › Kindness act activation › Edit button disappears when clicking a different kindness card [53/287] [chromium-task-activation] › e2e\mode_parent\task-activation\scroll-and-flow.spec.ts:76:3 › Scroll and flow › Kindness list is horizontally scrollable when many items are assigned [54/287] [chromium-task-activation] › e2e\mode_parent\task-activation\reward-redemption.spec.ts:73:3 › Reward redemption › Locked reward shows correct points needed text [55/287] [chromium-task-activation] › e2e\mode_parent\task-activation\kindness-activation.spec.ts:106:3 › Kindness act activation › Cancel kindness act confirmation — no points awarded [56/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:83:3 › Chore edit points › Kebab button is hidden initially, visible after first click, hidden after deselect [57/287] [chromium-task-activation] › e2e\mode_parent\task-activation\penalty-activation.spec.ts:95:3 › Penalty activation › Edit button disappears when clicking a different penalty card [58/287] [chromium-task-activation] › e2e\mode_parent\task-activation\kindness-activation.spec.ts:121:3 › Kindness act activation › Confirm kindness act activation — points awarded [59/287] [chromium-task-activation] › e2e\mode_parent\task-activation\penalty-activation.spec.ts:113:3 › Penalty activation › Cancel penalty confirmation — no points deducted [60/287] [chromium-task-activation] › e2e\mode_parent\task-activation\kindness-activation.spec.ts:135:3 › Kindness act activation › Kindness act can be activated a second time — points awarded again [61/287] [chromium-task-activation] › e2e\mode_parent\task-activation\penalty-activation.spec.ts:128:3 › Penalty activation › Confirm penalty activation — points deducted [62/287] [chromium-task-activation] › e2e\mode_parent\task-activation\reward-redemption.spec.ts:83:3 › Reward redemption › Clicking a locked reward does not open confirmation dialog [63/287] [chromium-task-activation] › e2e\mode_parent\task-activation\reward-redemption.spec.ts:98:3 › Reward redemption › Reward shows REWARD READY when child has sufficient points [64/287] [chromium-task-activation] › e2e\mode_parent\task-activation\penalty-activation.spec.ts:144:3 › Penalty activation › Penalty can be activated multiple times — points deducted again [65/287] [chromium-task-activation] › e2e\mode_parent\task-activation\reward-redemption.spec.ts:110:3 › Reward redemption › Edit button appears on first click of a ready reward [66/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:106:3 › Chore edit points › Kebab menu contains "Edit Points" and "Schedule" [67/287] [chromium-task-activation] › e2e\mode_parent\task-activation\reward-redemption.spec.ts:125:3 › Reward redemption › Edit button disappears when clicking a different reward card [68/287] [chromium-task-activation] › e2e\mode_parent\task-activation\penalty-activation.spec.ts:160:3 › Penalty activation › Points floor at 0 — penalty cannot make points negative [69/287] [chromium-task-activation] › e2e\mode_parent\task-activation\pending-reward-warning.spec.ts:172:3 › Pending reward warning dialog › Chore activation — Cancel on pending dialog leaves state unchanged [70/287] [chromium-task-activation] › e2e\mode_parent\task-activation\reward-redemption.spec.ts:144:3 › Reward redemption › Cancel reward redemption — points not deducted [71/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:120:3 › Chore edit points › "Edit Points" opens override modal pre-populated with current points [72/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-reset.spec.ts:90:3 › Chore reset › "Reset" is absent from kebab menu when chore is not yet completed [73/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:136:3 › Chore edit points › Clicking outside the modal does not close it [74/287] [chromium-task-activation] › e2e\mode_parent\task-activation\reward-redemption.spec.ts:162:3 › Reward redemption › Confirm reward redemption — points deducted and reward locks again [75/287] [chromium-task-activation] › e2e\mode_parent\task-activation\scroll-and-flow.spec.ts:103:3 › Scroll and flow › Scrolling the list reveals hidden items [76/287] [chromium-task-activation] › e2e\mode_parent\task-activation\pending-reward-warning.spec.ts:196:3 › Pending reward warning dialog › Chore activation — Confirm on pending dialog cancels pending reward and triggers chore [77/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:150:3 › Chore edit points › Cancel does not save — card still shows original points, no ⭐ badge [78/287] [chromium-task-activation] › e2e\mode_parent\task-activation\scroll-and-flow.spec.ts:133:3 › Scroll and flow › First click on an off-screen item scrolls it into view and marks it ready [79/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:164:3 › Chore edit points › Saving a valid new value updates the displayed points on the card [80/287] [chromium-task-modification] › e2e\mode_parent\task-modification\kindness-edit-points.spec.ts:72:3 › Kindness act edit points › Edit button appears on first click of a kindness card [81/287] [chromium-task-activation] › e2e\mode_parent\task-activation\pending-reward-warning.spec.ts:222:3 › Pending reward warning dialog › Kindness activation — Cancel on pending dialog leaves state unchanged [82/287] [chromium-task-activation] › e2e\mode_parent\task-activation\scroll-and-flow.spec.ts:163:3 › Scroll and flow › Scrolling does not prevent first-click centering on a partially visible item [83/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:177:3 › Chore edit points › ⭐ override badge appears on the card after saving a custom value [84/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:185:3 › Chore edit points › ⭐ badge persists after changing value back to the original default [85/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-reset.spec.ts:100:3 › Chore reset › Chore shows COMPLETED stamp after activation and confirmation [86/287] [chromium-task-modification] › e2e\mode_parent\task-modification\modified-points-activation.spec.ts:147:3 › Modified points take effect on activation › Modified chore points are awarded on activation (override 25, default 10) [87/287] [chromium-task-activation] › e2e\mode_parent\task-activation\pending-reward-warning.spec.ts:238:3 › Pending reward warning dialog › Kindness activation — Confirm on pending dialog cancels pending reward and triggers kindness [88/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:200:3 › Chore edit points › Negative value disables the Save button [89/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-reset.spec.ts:112:3 › Chore reset › "Reset" appears in kebab menu after chore is completed [90/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:211:3 › Chore edit points › Value above 10000 disables Save; exactly 10000 enables it [91/287] [chromium-task-modification] › e2e\mode_parent\task-modification\kindness-edit-points.spec.ts:83:3 › Kindness act edit points › Edit button disappears when clicking a different kindness card [92/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-reset.spec.ts:122:3 › Chore reset › Clicking "Reset" removes the COMPLETED stamp [93/287] [chromium-task-activation] › e2e\mode_parent\task-activation\pending-reward-warning.spec.ts:261:3 › Pending reward warning dialog › Penalty activation — Cancel on pending dialog leaves state unchanged [94/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-edit-points.spec.ts:224:3 › Chore edit points › Zero is a valid value — card shows "0 Points" with ⭐ badge [95/287] [chromium-task-modification] › e2e\mode_parent\task-modification\kindness-edit-points.spec.ts:99:3 › Kindness act edit points › Edit button opens modal with kindness name and "Assign new points" subtitle [96/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-reset.spec.ts:134:3 › Chore reset › Chore is re-activatable after reset — returns to COMPLETED on confirm [97/287] [chromium-task-modification] › e2e\mode_parent\task-modification\kindness-edit-points.spec.ts:115:3 › Kindness act edit points › Input is pre-populated with the current point value [98/287] [chromium-task-activation] › e2e\mode_parent\task-activation\pending-reward-warning.spec.ts:277:3 › Pending reward warning dialog › Penalty activation — Confirm on pending dialog cancels pending reward and triggers penalty [99/287] [chromium-task-modification] › e2e\mode_parent\task-modification\penalty-edit-points.spec.ts:72:3 › Penalty edit points › Edit button appears on first click of a penalty card [100/287] [chromium-task-modification] › e2e\mode_parent\task-modification\kindness-edit-points.spec.ts:125:3 › Kindness act edit points › Cancel does not save — points remain unchanged, no ⭐ badge [101/287] [chromium-task-modification] › e2e\mode_parent\task-modification\chore-reset.spec.ts:151:3 › Chore reset › Reset → activate cycle is repeatable without error [102/287] [chromium-task-modification] › e2e\mode_parent\task-modification\override-sse-child-update.spec.ts:89:3 › Override SSE updates child view › Changing chore override points updates child view in real time [103/287] [chromium-task-modification] › e2e\mode_parent\task-modification\kindness-edit-points.spec.ts:139:3 › Kindness act edit points › Saving a new value updates displayed points and shows ⭐ badge [104/287] [chromium-task-activation] › e2e\mode_parent\task-activation\pending-reward-warning.spec.ts:301:3 › Pending reward warning dialog › Other reward activation — Cancel on pending dialog leaves state unchanged [105/287] [chromium-task-modification] › e2e\mode_parent\task-modification\kindness-edit-points.spec.ts:153:3 › Kindness act edit points › Negative value disables the Save button [106/287] [chromium-task-modification] › e2e\mode_parent\task-modification\modified-points-activation.spec.ts:172:3 › Modified points take effect on activation › Modified kindness points are awarded on activation (override 8, default 10) [107/287] [chromium-task-modification] › e2e\mode_parent\task-modification\penalty-edit-points.spec.ts:83:3 › Penalty edit points › Edit button disappears when clicking a different penalty card [108/287] [chromium-task-modification] › e2e\mode_parent\task-modification\pending-reset-on-edit.spec.ts:107:3 › Pending status resets on task/reward modification › 10.1 Editing chore points clears pending status [109/287] [chromium-task-modification] › e2e\mode_parent\task-modification\kindness-edit-points.spec.ts:164:3 › Kindness act edit points › Value above 10000 disables Save; exactly 10000 enables it [110/287] [chromium-task-activation] › e2e\mode_parent\task-activation\pending-reward-warning.spec.ts:333:3 › Pending reward warning dialog › Other reward activation — Confirm on pending dialog cancels the pending reward [111/287] [chromium-task-modification] › e2e\mode_parent\task-modification\penalty-edit-points.spec.ts:99:3 › Penalty edit points › Edit button opens modal with penalty name and "Assign new points" subtitle [112/287] [chromium-task-modification] › e2e\mode_parent\task-modification\penalty-edit-points.spec.ts:115:3 › Penalty edit points › Input is pre-populated with the raw point value (positive, not negated) [113/287] [chromium-task-modification] › e2e\mode_parent\task-modification\modified-points-activation.spec.ts:197:3 › Modified points take effect on activation › Modified penalty points are deducted at override rate (override 3, default 10) [114/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:67:3 › Reward edit cost › Edit button appears on first click of a reward card [115/287] [chromium-task-modification] › e2e\mode_parent\task-modification\penalty-edit-points.spec.ts:128:3 › Penalty edit points › Cancel does not change the display [116/287] [chromium-task-modification] › e2e\mode_parent\task-modification\override-sse-child-update.spec.ts:109:3 › Override SSE updates child view › Changing kindness override points updates child view [117/287] [chromium-task-modification] › e2e\mode_parent\task-modification\penalty-edit-points.spec.ts:143:3 › Penalty edit points › Saving a new value updates card to show negated override and ⭐ badge [118/287] [chromium-task-modification] › e2e\mode_parent\task-modification\modified-points-activation.spec.ts:222:3 › Modified points take effect on activation › Modified reward cost is reflected in points needed display (override 30) [119/287] [chromium-task-modification] › e2e\mode_parent\task-modification\override-sse-child-update.spec.ts:123:3 › Override SSE updates child view › Changing penalty override points updates child view [120/287] [chromium-task-modification] › e2e\mode_parent\task-modification\penalty-edit-points.spec.ts:159:3 › Penalty edit points › Negative value disables the Save button [121/287] [chromium-task-modification] › e2e\mode_parent\task-modification\override-sse-child-update.spec.ts:137:3 › Override SSE updates child view › Deleting an override reverts child view to original points [122/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:78:3 › Reward edit cost › Edit button opens modal with reward name and "Assign new cost" subtitle [123/287] [chromium-task-modification] › e2e\mode_parent\task-modification\pending-reset-on-edit.spec.ts:128:3 › Pending status resets on task/reward modification › 10.2 Changing chore schedule clears pending status [124/287] [chromium-task-modification] › e2e\mode_parent\task-modification\penalty-edit-points.spec.ts:170:3 › Penalty edit points › Value above 10000 disables Save; exactly 10000 enables it [125/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:94:3 › Reward edit cost › Input is pre-populated with the current cost [126/287] [chromium-task-modification] › e2e\mode_parent\task-modification\pending-reset-on-edit.spec.ts:154:3 › Pending status resets on task/reward modification › 10.5 Editing task name only does NOT clear pending [127/287] [chromium-task-modification] › e2e\mode_parent\task-modification\scroll-to-edited-task.spec.ts:105:3 › Scroll to edited task after save › Edited chore card scrolls into viewport after override save [128/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:104:3 › Reward edit cost › Cancel does not change the points needed display [129/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:119:3 › Reward edit cost › Saving a new cost updates the points needed and shows ⭐ badge [130/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\child-card-states.spec.ts:68:3 › Child Mode — Chore Visibility and Schedule States › 6.1 Chore with no schedule — visible normally in child mode [131/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:134:3 › Reward edit cost › Setting cost to 0 makes the reward immediately redeemable [132/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\extend-time.spec.ts:49:3 › Extend Time › 8.1 "Extend Time" appears in kebab menu only when chore is expired [133/287] [chromium-task-modification] › e2e\mode_parent\task-modification\pending-reset-on-edit.spec.ts:180:3 › Pending status resets on task/reward modification › 10.4 Completed chores remain completed after point edit [134/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\interval-anchor.spec.ts:36:3 › Schedule Interval Mode — Anchor Date Logic › 9.1 Interval every 1 day starting today — chore active today [135/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:147:3 › Reward edit cost › Negative value disables the Save button [136/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:158:3 › Reward edit cost › Value above 10000 disables Save; exactly 10000 enables it [137/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:171:3 › Reward edit cost › Editing a pending reward shows a warning dialog — Cancel aborts the edit [138/287] [chromium-task-modification] › e2e\mode_parent\task-modification\pending-reset-on-edit.spec.ts:201:3 › Pending status resets on task/reward modification › 10.3 Editing reward cost clears pending reward request [139/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\interval-anchor.spec.ts:56:3 › Schedule Interval Mode — Anchor Date Logic › 9.2 Interval every 2 days starting yesterday — chore NOT active today [140/287] [chromium-task-modification] › e2e\mode_parent\task-modification\reward-edit-cost.spec.ts:198:3 › Reward edit cost › Editing a pending reward — confirming the warning opens the override modal [141/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\extend-time.spec.ts:61:3 › Extend Time › 8.2 "Extend Time" is absent when chore is not expired [142/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\interval-anchor.spec.ts:83:3 › Schedule Interval Mode — Anchor Date Logic › 9.3 Interval every 2 days starting today — active today [143/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\extend-time.spec.ts:70:3 › Extend Time › 8.3 Clicking "Extend Time" removes the TOO LATE badge [144/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\interval-anchor.spec.ts:101:3 › Schedule Interval Mode — Anchor Date Logic › 9.4 Interval "Anytime" deadline — no "Due by" label [145/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\extend-time.spec.ts:84:3 › Extend Time › 8.4 Extended chore no longer shows "Due by" label [146/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\child-card-states.spec.ts:75:3 › Child Mode — Chore Visibility and Schedule States › 6.2 Chore scheduled for today — visible with "Due by" label [147/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\extend-time.spec.ts:94:3 › Extend Time › 8.5 "Extend Time" disappears from kebab after extension [148/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\child-card-states.spec.ts:83:3 › Child Mode — Chore Visibility and Schedule States › 6.3 Chore not scheduled for today — HIDDEN in child mode [149/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-card-states.spec.ts:66:3 › Parent Mode — Chore Card Schedule States › 5.1 Chore with no schedule — normal appearance, no annotations [150/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-days-mode.spec.ts:40:3 › Schedule Modal — Specific Days mode › 2.1 Clicking day chips toggles them active/inactive [151/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\extend-time.spec.ts:104:3 › Extend Time › 8.6 Extension effect visible in child mode [152/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-vs-child.spec.ts:51:3 › Parent vs Child Mode Comparison › 7.1 Parent mode shows all chores including off-day ones [153/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\child-card-states.spec.ts:96:3 › Child Mode — Chore Visibility and Schedule States › 6.4 Chore with expired deadline — grayed out with TOO LATE badge (not hidden) [154/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\extend-time.spec.ts:114:3 › Extend Time › 8.6b Extending same chore twice via API returns 409 [155/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\child-card-states.spec.ts:108:3 › Child Mode — Chore Visibility and Schedule States › 6.5 Chore with "Anytime" — visible, no badge, no "Due by" [156/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\child-card-states.spec.ts:117:3 › Child Mode — Chore Visibility and Schedule States › 6.6 No kebab menu or schedule controls in child mode [157/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-enable-disable.spec.ts:41:3 › Schedule Enable/Disable Toggle › 4.1 Toggle row is visible in the schedule modal [158/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-days-mode.spec.ts:54:3 › Schedule Modal — Specific Days mode › 2.2 Default deadline row appears when at least one day is selected [159/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-vs-child.spec.ts:69:3 › Parent vs Child Mode Comparison › 7.2 Child mode hides off-day chores [160/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-days-mode.spec.ts:67:3 › Schedule Modal — Specific Days mode › 2.3 Default deadline "Anytime" toggle hides and restores time picker [161/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-interval-mode.spec.ts:42:3 › Schedule Modal — Every X Days mode › 3.1 Interval stepper increments and decrements within 1–7 [162/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-vs-child.spec.ts:81:3 › Parent vs Child Mode Comparison › 7.3 Adding a schedule via parent mode hides chore in child mode on wrong day [163/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-enable-disable.spec.ts:55:3 › Schedule Enable/Disable Toggle › 4.2 Toggling OFF shows "Paused" label and dims the form body [164/287] [chromium-task-modification] › e2e\mode_parent\task-modification\scroll-to-edited-task.spec.ts:135:3 › Scroll to edited task after save › Edited reward card scrolls into viewport after override save [165/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-days-mode.spec.ts:102:3 › Schedule Modal — Specific Days mode › 2.4 Exception time — "Set different time" creates per-day override [166/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-vs-child.spec.ts:98:3 › Parent vs Child Mode Comparison › 7.4 Removing a schedule via parent mode shows chore in child mode again [167/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-card-states.spec.ts:76:3 › Parent Mode — Chore Card Schedule States › 5.2 Chore scheduled for today — shows "Due by" label, not grayed out [168/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-enable-disable.spec.ts:81:3 › Schedule Enable/Disable Toggle › 4.3 Toggling ON restores "Enabled" label and form body [169/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-card-states.spec.ts:85:3 › Parent Mode — Chore Card Schedule States › 5.3 Chore not scheduled for today — grayed out in parent mode but visible [170/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-days-mode.spec.ts:129:3 › Schedule Modal — Specific Days mode › 2.5 Exception time — "Reset to default" removes the override [171/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-vs-child.spec.ts:112:3 › Parent vs Child Mode Comparison › 7.5 Paused schedule — chore visible in both modes [172/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-card-states.spec.ts:100:3 › Parent Mode — Chore Card Schedule States › 5.4 Chore with expired deadline — grayed out with TOO LATE badge [173/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-interval-mode.spec.ts:66:3 › Schedule Modal — Every X Days mode › 3.2 Anchor date field shows today's date by default [174/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-card-states.spec.ts:110:3 › Parent Mode — Chore Card Schedule States › 5.5 Chore with "Anytime" deadline — no "Due by" label, no TOO LATE badge [175/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-enable-disable.spec.ts:99:3 › Schedule Enable/Disable Toggle › 4.4 Save paused state — persists on reopen [176/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-days-mode.spec.ts:150:3 › Schedule Modal — Specific Days mode › 2.6 Save with specific days — schedule persists on reopen [177/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-card-states.spec.ts:122:3 › Parent Mode — Chore Card Schedule States › 5.6 Kebab menu always accessible on grayed-out chores [178/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-interval-mode.spec.ts:76:3 › Schedule Modal — Every X Days mode › 3.3 Next occurrence preview label updates correctly [179/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-load.spec.ts:40:3 › Schedule Loading — Backward Compatibility › 11.1 Schedule without "enabled" field defaults to enabled in modal [180/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\parent-card-states.spec.ts:139:3 › Parent Mode — Chore Card Schedule States › 5.7 Expired chore cannot be triggered by tapping — no confirm dialog [181/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-days-mode.spec.ts:183:3 › Schedule Modal — Specific Days mode › 2.7 Save with zero days deletes the schedule [182/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-enable-disable.spec.ts:122:3 › Schedule Enable/Disable Toggle › 4.5 Dirty detection — toggling enabled state enables/disables Save [183/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-interval-mode.spec.ts:96:3 › Schedule Modal — Every X Days mode › 3.4 Interval deadline "Anytime" toggle works  1) [chromium-task-modification] › e2e\mode_parent\task-modification\scroll-to-edited-task.spec.ts:135:3 › Scroll to edited task after save › Edited reward card scrolls into viewport after override save Error: expect(received).toBe(expected) // Object.is equality Expected: true Received: false 159 | // After SSE override event → list refreshes → card scrolls into view 160 | await expect(targetCard).toBeVisible({ timeout: 5000 }) > 161 | expect(await isInViewport(targetCard)).toBe(true) | ^ 162 | }) 163 | }) 164 | at D:\Python Utilities\Reward\frontend\vue-app\e2e\mode_parent\task-modification\scroll-to-edited-task.spec.ts:161:44 Error Context: test-results\mode_parent-task-modificat-7e620-iewport-after-override-save-chromium-task-modification\error-context.md [184/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-interval-mode.spec.ts:122:3 › Schedule Modal — Every X Days mode › 3.5 Save interval schedule — persists on reopen [185/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-enable-disable.spec.ts:145:3 › Schedule Enable/Disable Toggle › 4.6 Paused schedule in parent mode — chore is visible and not grayed out [186/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-load.spec.ts:66:3 › Schedule Loading — Backward Compatibility › 11.2 Schedule with interval_has_deadline=false shows "Anytime" in modal [187/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-sse.spec.ts:40:3 › SSE Real-Time Updates › 10.1 Setting a schedule via API reflects in an already-open parent view [188/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-days-mode.spec.ts:212:3 › Schedule Modal — Specific Days mode › 2.8 Dirty detection — changing days enables Save [189/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-enable-disable.spec.ts:162:3 › Schedule Enable/Disable Toggle › 4.7 Paused schedule in child mode — chore is visible [190/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-modal.spec.ts:38:3 › Schedule Modal — Opening & Structure › 1.1 Schedule option appears in kebab menu [191/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-load.spec.ts:89:3 › Schedule Loading — Backward Compatibility › 11.3 Days schedule with per-day exception loads deadline rows correctly [192/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-interval-mode.spec.ts:158:3 › Schedule Modal — Every X Days mode › 3.6 Dirty detection — changing interval enables Save [193/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-enable-disable.spec.ts:172:3 › Schedule Enable/Disable Toggle › 4.8 Paused schedule shows no "Due by" label [194/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-load.spec.ts:145:3 › Schedule Loading — Backward Compatibility › 11.4 Interval schedule restores anchor date and interval on reopen [195/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-sse.spec.ts:58:3 › SSE Real-Time Updates › 10.2 Deleting a schedule via API un-grays the chore in parent view [196/287] [chromium-profile-button] › e2e\mode_parent\profile-button\profile-button-temporary.spec.ts:22:3 › Parent profile button – temporary parent mode › Badge – no 🔒 badge in temporary parent mode [197/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-modal.spec.ts:46:3 › Schedule Modal — Opening & Structure › 1.2 Schedule modal opens with correct title and subtitle [198/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-sse.spec.ts:77:3 › SSE Real-Time Updates › 10.3 Extending time via API reflects in an already-open parent view [199/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-modal.spec.ts:55:3 › Schedule Modal — Opening & Structure › 1.3 Default state: Specific Days mode, no chips selected, toggle Enabled [200/287] [chromium-profile-button] › e2e\mode_parent\profile-button\profile-button.spec.ts:29:3 › Parent profile button – permanent parent mode › Menu – Child Mode exits parent mode [201/287] [chromium-profile-button] › e2e\mode_parent\profile-button\profile-button.spec.ts:9:3 › Parent profile button – permanent parent mode › Badge – shows 🔒 in permanent parent mode [202/287] [chromium-profile-button] › e2e\mode_parent\profile-button\profile-button.spec.ts:14:3 › Parent profile button – permanent parent mode › Menu – shows user name and email [203/287] [chromium-profile-button] › e2e\mode_parent\profile-button\profile-button.spec.ts:39:3 › Parent profile button – permanent parent mode › Menu – Child Mode re-entry without checkbox enters temporary mode [204/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-modal.spec.ts:78:3 › Schedule Modal — Opening & Structure › 1.4 Mode toggle switches between Specific Days and Every X Days [205/287] [chromium-profile-button] › e2e\mode_parent\profile-button\profile-button.spec.ts:58:3 › Parent profile button – permanent parent mode › Menu – Child Mode re-entry with checkbox enters permanent mode [206/287] [chromium-profile-button] › e2e\mode_parent\profile-button\profile-button.spec.ts:21:3 › Parent profile button – permanent parent mode › Menu – Profile option navigates to the User Profile page [207/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-modal.spec.ts:95:3 › Schedule Modal — Opening & Structure › 1.5 Cancel closes the modal without saving [208/287] [chromium-profile-button] › e2e\mode_parent\profile-button\profile-button.spec.ts:77:3 › Parent profile button – permanent parent mode › Menu – Sign Out navigates to landing page [209/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:48:3 › User Profile – editing › Profile page loads with correct data [210/287] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:26:3 › User Profile – Change Parent PIN › Change Parent PIN link navigates to PIN setup page [211/287] [chromium-chore-scheduler] › e2e\mode_parent\chore-scheduler\schedule-modal.spec.ts:120:3 › Schedule Modal — Opening & Structure › 1.6 Save is disabled when form is not dirty [212/287] [chromium-tasks-rewards] › e2e\example.spec.ts:3:1 › has title [213/287] [chromium-tasks-rewards] › e2e\example.spec.ts:10:1 › get started link [214/287] [chromium-tasks-rewards] › e2e\mode_parent\notifications\notification-card-overflow.spec.ts:76:3 › Notification card overflow › Long notification entity name wraps or clips within card [215/287] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:35:3 › User Profile – Change Parent PIN › Back from PIN setup page returns to profile [216/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:58:3 › User Profile – editing › Back button navigates back [217/287] [chromium-tasks-rewards] › e2e\mode_parent\notifications\notification-click-scroll.spec.ts:125:3 › Notification click navigates and scrolls to task › Clicking a chore notification navigates and scrolls to the chore card [218/287] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:46:3 › User Profile – Change Parent PIN › Send Verification Code advances to step 2 [219/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:70:3 › User Profile – editing › Save is disabled when form is clean (not dirty) [220/287] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:60:3 › User Profile – Change Parent PIN › Resend Code button appears after delay [221/287] [chromium-tasks-rewards] › e2e\mode_parent\notifications\notification-card-overflow.spec.ts:56:3 › Notification card overflow › Notification text does not overflow card boundaries [222/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:76:3 › User Profile – editing › Save is disabled when First Name is empty [223/287] [chromium-tasks-rewards] › e2e\mode_parent\rewards\reward-cancel.spec.ts:13:3 › Reward cancellation › Cancel reward creation [224/287] [chromium-tasks-rewards] › e2e\mode_parent\rewards\reward-cancel.spec.ts:39:3 › Reward cancellation › Cancel reward edit [225/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:85:3 › User Profile – editing › Save is disabled when Last Name is empty [226/287] [chromium-tasks-rewards] › e2e\mode_parent\rewards\reward-convert-default.spec.ts:13:3 › Convert default reward › Convert a default reward to a user item [227/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:94:3 › User Profile – editing › Save is disabled when both name fields are empty [228/287] [chromium-tasks-rewards] › e2e\mode_parent\rewards\reward-create-edit.spec.ts:13:3 › Reward management › Create a new reward [229/287] [chromium-tasks-rewards] › e2e\mode_parent\rewards\reward-delete-default.spec.ts:13:3 › Default reward cost edit and restore › Edit default cost and verify restoration on delete [230/287] [chromium-tasks-rewards] › e2e\mode_parent\task-sorting\child-sort-order.spec.ts:179:3 › Child mode sort order › Child chore sort: scheduled today (earliest deadline) → general → pending [231/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:103:3 › User Profile – editing › Save enables when a name is changed [232/287] [chromium-tasks-rewards] › e2e\mode_parent\rewards\reward-create-edit.spec.ts:50:3 › Reward management › Edit an existing reward [233/287] [chromium-tasks-rewards] › e2e\mode_parent\task-sorting\parent-sort-order.spec.ts:182:3 › Parent mode sort order › Parent chore sort: pending → general → expired → completed → unscheduled [234/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:111:3 › User Profile – editing › Save persists name changes and shows confirmation modal [235/287] [chromium-tasks-rewards] › e2e\mode_parent\rewards\reward-create-edit.spec.ts:107:3 › Reward management › Delete a reward [236/287] [chromium-tasks-rewards] › e2e\mode_parent\tasks\chore-cancel.spec.ts:11:3 › Chore creation/edit cancellation › Cancel chore creation [237/287] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:70:3 › User Profile – Change Parent PIN › Invalid code shows error [238/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:129:3 › User Profile – editing › Cancel discards unsaved changes [239/287] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:81:3 › User Profile – Change Parent PIN › Valid code advances to step 3 (Create PIN) [240/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:141:3 › User Profile – editing › Email field is read-only [241/287] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:99:3 › User Profile – Change Parent PIN › Set PIN disabled when PINs do not match [242/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:149:3 › User Profile – editing › Change profile image (built-in) [243/287] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:116:3 › User Profile – Change Parent PIN › Set PIN disabled for fewer than 4 digits [244/287] [chromium-tasks-rewards] › e2e\mode_parent\notifications\notification-click-scroll.spec.ts:149:3 › Notification click navigates and scrolls to task › Clicking a reward notification scrolls reward card into viewport [245/287] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:133:3 › User Profile – Change Parent PIN › Set PIN succeeds with matching 4-digit PIN – shows success step [246/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:193:3 › User Profile – editing › Upload a custom profile image  2) [chromium-tasks-rewards] › e2e\mode_parent\tasks\chore-cancel.spec.ts:11:3 › Chore creation/edit cancellation › Cancel chore creation Error: expect(locator).toHaveCount(expected) failed Locator: locator('text=Test') Expected: 0 Received: 1 Timeout: 5000ms Call log:  - Expect "toHaveCount" with timeout 5000ms  - waiting for locator('text=Test')  9 × locator resolved to 1 element  - unexpected value "1" 33 | await expect(page.getByText('Clean your mess', { exact: true })).toBeVisible() 34 | // expect: No chore named 'Test' exists > 35 | await expect(page.locator('text=Test')).toHaveCount(0) | ^ 36 | }) 37 | 38 | test('Cancel chore edit', async ({ page }) => { at D:\Python Utilities\Reward\frontend\vue-app\e2e\mode_parent\tasks\chore-cancel.spec.ts:35:45 Error Context: test-results\mode_parent-tasks-chore-ca-9c64e-ation-Cancel-chore-creation-chromium-tasks-rewards\error-context.md [247/287] [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:156:3 › User Profile – Change Parent PIN › Back from success step exits parent mode and goes to child selector [248/287] [chromium-tasks-rewards] › e2e\mode_parent\task-sorting\child-sort-order.spec.ts:214:3 › Child mode sort order › Child reward sort: pending first, then ascending by points needed [249/287] [chromium-user-profile] › e2e\mode_parent\user-profile\profile-editing.spec.ts:216:3 › User Profile – editing › Change Password shows email-sent modal [250/287] [chromium-tasks-rewards] › e2e\mode_parent\tasks\chore-cancel.spec.ts:38:3 › Chore creation/edit cancellation › Cancel chore edit [251/287] [chromium-tasks-rewards] › e2e\mode_parent\task-sorting\parent-sort-order.spec.ts:210:3 › Parent mode sort order › Parent reward sort: pending requests appear first  3) [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:156:3 › User Profile – Change Parent PIN › Back from success step exits parent mode and goes to child selector Error: apiRequestContext.post: connect ECONNREFUSED ::1:5000 Call log:  - → POST http://localhost:5000/user/set-pin  - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.7632.6 Safari/537.36  - accept: */*  - accept-encoding: gzip,deflate,br  - content-type: application/json  - content-length: 14  - cookie: access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImUyZUB0ZXN0LmNvbSIsInVzZXJfaWQiOiJlZTk5MGEzOC1kYmVkLTRlNzEtYTQzYi0yOTQxNWI0OWE1MWYiLCJ0b2tlbl92ZXJzaW9uIjowLCJleHAiOjE3NzU5Njc2NjN9.SdtrcRmhNT7O4Zqv2h94RJdsPuFe5haX0yYu2RRkrSg at apiRequestContext.post: connect ECONNREFUSED ::1:5000 at setPinDirectly (D:\Python Utilities\Reward\frontend\vue-app\e2e\mode_parent\user-profile\change-pin.spec.ts:15:17) at D:\Python Utilities\Reward\frontend\vue-app\e2e\mode_parent\user-profile\change-pin.spec.ts:23:5  4) [chromium-tasks-rewards] › e2e\mode_parent\task-sorting\child-sort-order.spec.ts:214:3 › Child mode sort order › Child reward sort: pending first, then ascending by points needed Error: apiRequestContext.delete: read ECONNRESET Call log:  - → DELETE https://localhost:5173/api/task/2519b537-1af6-44c4-b6c4-cde6d7bde1db  - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.7632.6 Safari/537.36  - accept: */*  - accept-encoding: gzip,deflate,br  - cookie: access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImUyZUB0ZXN0LmNvbSIsInVzZXJfaWQiOiJlZTk5MGEzOC1kYmVkLTRlNzEtYTQzYi0yOTQxNWI0OWE1MWYiLCJ0b2tlbl92ZXJzaW9uIjowLCJleHAiOjE3NzU5Njc2NjN9.SdtrcRmhNT7O4Zqv2h94RJdsPuFe5haX0yYu2RRkrSg 170 | if (childId) await request.delete(`/api/child/${childId}`) 171 | for (const id of [schedEarlyId, schedLateId, generalChoreId, pendingChoreId, nonTodayChoreId]) { > 172 | if (id) await request.delete(`/api/task/${id}`) | ^ 173 | } 174 | for (const id of [pendingRewardId, cheapRewardId, expensiveRewardId]) { 175 | if (id) await request.delete(`/api/reward/${id}`) at D:\Python Utilities\Reward\frontend\vue-app\e2e\mode_parent\task-sorting\child-sort-order.spec.ts:172:35  5) [chromium-tasks-rewards] › e2e\mode_parent\notifications\notification-click-scroll.spec.ts:149:3 › Notification click navigates and scrolls to task › Clicking a reward notification scrolls reward card into viewport Error: apiRequestContext.delete: read ECONNRESET Call log:  - → DELETE https://localhost:5173/api/task/502b34cf-b21f-4510-b0bb-cd2fc871db04  - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.7632.6 Safari/537.36  - accept: */*  - accept-encoding: gzip,deflate,br  - cookie: access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImUyZUB0ZXN0LmNvbSIsInVzZXJfaWQiOiJlZTk5MGEzOC1kYmVkLTRlNzEtYTQzYi0yOTQxNWI0OWE1MWYiLCJ0b2tlbl92ZXJzaW9uIjowLCJleHAiOjE3NzU5Njc2NjN9.SdtrcRmhNT7O4Zqv2h94RJdsPuFe5haX0yYu2RRkrSg 119 | test.afterAll(async ({ request }) => { 120 | if (childId) await request.delete(`/api/child/${childId}`) > 121 | for (const id of choreIds) await request.delete(`/api/task/${id}`) | ^ 122 | if (rewardId) await request.delete(`/api/reward/${rewardId}`) 123 | }) 124 | at D:\Python Utilities\Reward\frontend\vue-app\e2e\mode_parent\notifications\notification-click-scroll.spec.ts:121:52 [252/287] [chromium-tasks-rewards] › e2e\mode_parent\tasks\chore-create-edit.spec.ts:12:3 › Chore management › Create a new chore (parent mode) [253/287] [chromium-tasks-rewards] › e2e\mode_parent\tasks\kindness-cancel.spec.ts:11:3 › Kindness act cancellation › Cancel kindness act creation [254/287] [chromium-tasks-rewards] › e2e\mode_parent\tasks\kindness-cancel.spec.ts:31:3 › Kindness act cancellation › Cancel kindness act edit [255/287] [chromium-tasks-rewards] › e2e\mode_parent\tasks\kindness-create-edit.spec.ts:13:3 › Kindness act management › Create a new kindness act (parent mode)  6) [chromium-tasks-rewards] › e2e\mode_parent\task-sorting\parent-sort-order.spec.ts:210:3 › Parent mode sort order › Parent reward sort: pending requests appear first Error: page.goto: net::ERR_CONNECTION_REFUSED at https://localhost:5173/parent/213673b4-d3f7-4dca-9c4d-dab039195cf1 Call log:  - navigating to "https://localhost:5173/parent/213673b4-d3f7-4dca-9c4d-dab039195cf1", waiting until "load" 209 | 210 | test('Parent reward sort: pending requests appear first', async ({ page }) => { > 211 | await page.goto(`/parent/${childId}`) | ^ 212 | const section = rewardSection(page) 213 | await section.locator('.item-card').first().waitFor({ state: 'visible' }) 214 | at D:\Python Utilities\Reward\frontend\vue-app\e2e\mode_parent\task-sorting\parent-sort-order.spec.ts:211:16 Error: apiRequestContext.delete: connect ECONNREFUSED ::1:5173 Call log:  - → DELETE https://localhost:5173/api/child/213673b4-d3f7-4dca-9c4d-dab039195cf1  - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.7632.6 Safari/537.36  - accept: */*  - accept-encoding: gzip,deflate,br  - cookie: access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImUyZUB0ZXN0LmNvbSIsInVzZXJfaWQiOiJlZTk5MGEzOC1kYmVkLTRlNzEtYTQzYi0yOTQxNWI0OWE1MWYiLCJ0b2tlbl92ZXJzaW9uIjowLCJleHAiOjE3NzU5Njc2NjN9.SdtrcRmhNT7O4Zqv2h94RJdsPuFe5haX0yYu2RRkrSg at apiRequestContext.delete: connect ECONNREFUSED ::1:5173 at D:\Python Utilities\Reward\frontend\vue-app\e2e\mode_parent\task-sorting\parent-sort-order.spec.ts:167:38 [256/287] [chromium-tasks-rewards] › e2e\mode_parent\tasks\penalty-cancel.spec.ts:11:3 › Penalty creation/edit cancellation › Cancel penalty creation  7) [chromium-tasks-rewards] › e2e\mode_parent\tasks\chore-create-edit.spec.ts:12:3 › Chore management › Create a new chore (parent mode) Error: page.goto: net::ERR_CONNECTION_REFUSED at https://localhost:5173/parent/tasks/chores Call log:  - navigating to "https://localhost:5173/parent/tasks/chores", waiting until "load" 14 | const name = `Wash dishes ${suffix}` 15 | // 1. Navigate to /parent/tasks/chores > 16 | await page.goto('/parent/tasks/chores') | ^ 17 | // expect: The parent dashboard loads and shows the chores list 18 | await expect(page.getByText('Clean your mess', { exact: true })).toBeVisible() 19 | at D:\Python Utilities\Reward\frontend\vue-app\e2e\mode_parent\tasks\chore-create-edit.spec.ts:16:16 [257/287] [chromium-tasks-rewards] › e2e\mode_parent\tasks\chore-create-edit.spec.ts:51:3 › Chore management › Edit an existing chore [258/287] [chromium-tasks-rewards] › e2e\mode_parent\tasks\chore-create-edit.spec.ts:107:3 › Chore management › Delete a chore  8) [chromium-tasks-rewards] › e2e\mode_parent\tasks\kindness-cancel.spec.ts:11:3 › Kindness act cancellation › Cancel kindness act creation Error: page.goto: net::ERR_CONNECTION_REFUSED at https://localhost:5173/parent/tasks/chores Call log:  - navigating to "https://localhost:5173/parent/tasks/chores", waiting until "load" 10 | 11 | test('Cancel kindness act creation', async ({ page }) => { > 12 | await page.goto('/parent/tasks/chores') | ^ 13 | await page.click('text=Kindness Acts') 14 | await page.getByRole('button', { name: 'Create Kindness Act' }).click() 15 | await page.evaluate(() => { at D:\Python Utilities\Reward\frontend\vue-app\e2e\mode_parent\tasks\kindness-cancel.spec.ts:12:16  9) [chromium-tasks-rewards] › e2e\mode_parent\tasks\kindness-cancel.spec.ts:31:3 › Kindness act cancellation › Cancel kindness act edit Error: page.goto: net::ERR_CONNECTION_REFUSED at https://localhost:5173/parent/tasks/chores Call log:  - navigating to "https://localhost:5173/parent/tasks/chores", waiting until "load" 30 | 31 | test('Cancel kindness act edit', async ({ page }) => { > 32 | await page.goto('/parent/tasks/chores') | ^ 33 | await page.click('text=Kindness Acts') 34 | if (!(await page.getByText('Share toys', { exact: true }).count())) { 35 | await page.getByRole('button', { name: 'Create Kindness Act' }).click() at D:\Python Utilities\Reward\frontend\vue-app\e2e\mode_parent\tasks\kindness-cancel.spec.ts:32:16  10) [chromium-tasks-rewards] › e2e\mode_parent\tasks\kindness-create-edit.spec.ts:13:3 › Kindness act management › Create a new kindness act (parent mode) Error: page.goto: net::ERR_CONNECTION_REFUSED at https://localhost:5173/parent/tasks/chores Call log:  - navigating to "https://localhost:5173/parent/tasks/chores", waiting until "load" 17 | 18 | // 1. navigate once and switch to kindness tab > 19 | await page.goto('/parent/tasks/chores') | ^ 20 | await page.click('text=Kindness Acts') 21 | await expect(page.locator('text=Kindness Acts')).toBeVisible() 22 | at D:\Python Utilities\Reward\frontend\vue-app\e2e\mode_parent\tasks\kindness-create-edit.spec.ts:19:16 [259/287] [chromium-tasks-rewards] › e2e\mode_parent\tasks\kindness-create-edit.spec.ts:48:3 › Kindness act management › Edit an existing kindness act [260/287] [chromium-tasks-rewards] › e2e\mode_parent\tasks\kindness-create-edit.spec.ts:98:3 › Kindness act management › Delete a kindness act [261/287] [chromium-tasks-rewards] › e2e\mode_parent\tasks\penalty-cancel.spec.ts:32:3 › Penalty creation/edit cancellation › Cancel penalty edit [262/287] [chromium-tasks-rewards] › e2e\mode_parent\tasks\penalty-create-edit.spec.ts:13:3 › Penalty management › Create a new penalty (parent mode) [263/287] [chromium-tasks-rewards] › e2e\mode_parent\tasks\test-simple-chore.spec.ts:3:1 › Simple chore creation test [264/287] [chromium-no-pin] › e2e\example.spec.ts:3:1 › has title [265/287] [chromium-no-pin] › e2e\example.spec.ts:10:1 › get started link [266/287] [chromium-tasks-rewards] › e2e\mode_parent\tasks\penalty-create-edit.spec.ts:37:3 › Penalty management › Edit an existing penalty  11) [chromium-tasks-rewards] › e2e\mode_parent\tasks\penalty-cancel.spec.ts:32:3 › Penalty creation/edit cancellation › Cancel penalty edit Error: expect(locator).toBeVisible() failed Locator: getByText('No screen time', { exact: true }) Expected: visible Error: strict mode violation: getByText('No screen time', { exact: true }) resolved to 2 elements: 1) No screen time aka getByText('No screen time').first() 2) No screen time aka getByText('No screen time').nth(1) Call log:  - Expect "toBeVisible" with timeout 5000ms  - waiting for getByText('No screen time', { exact: true }) 38 | await page.locator('#points').fill('10') 39 | await page.getByRole('button', { name: 'Create' }).click() > 40 | await expect(page.getByText('No screen time', { exact: true })).toBeVisible() | ^ 41 | } 42 | // open edit by clicking row 43 | await page.getByText('No screen time', { exact: true }).click() at D:\Python Utilities\Reward\frontend\vue-app\e2e\mode_parent\tasks\penalty-cancel.spec.ts:40:71 Error Context: test-results\mode_parent-tasks-penalty--56070-llation-Cancel-penalty-edit-chromium-tasks-rewards\error-context.md [267/287] [chromium-tasks-rewards] › e2e\mode_parent\tasks\penalty-create-edit.spec.ts:84:3 › Penalty management › Delete a penalty  12) [chromium-tasks-rewards] › e2e\mode_parent\tasks\chore-cancel.spec.ts:38:3 › Chore creation/edit cancellation › Cancel chore edit Test timeout of 30000ms exceeded. Error: locator.click: Test timeout of 30000ms exceeded. Call log:  - waiting for getByText('Wash dishes', { exact: true }) 56 | await page.getByRole('button', { name: 'Create' }).click() 57 | } > 58 | await page.getByText('Wash dishes', { exact: true }).click() | ^ 59 | 60 | // 2. Modify the name then cancel 61 | await page.evaluate(() => { at D:\Python Utilities\Reward\frontend\vue-app\e2e\mode_parent\tasks\chore-cancel.spec.ts:58:58 Error Context: test-results\mode_parent-tasks-chore-ca-ef6a3-cellation-Cancel-chore-edit-chromium-tasks-rewards\error-context.md [268/287] [chromium-create-child] › e2e\mode_parent\create-child\authorization.spec.ts:9:3 › Create Child › Add Child FAB is hidden when parent auth is expired [269/287] [chromium-create-child] › e2e\mode_parent\create-child\validation.spec.ts:15:3 › Create Child › Reject submission when Name is empty [270/287] [chromium-create-child] › e2e\mode_parent\create-child\navigation.spec.ts:6:3 › Create Child › Cancel navigates back without saving [271/287] [chromium-create-child] › e2e\mode_parent\create-child\sse.spec.ts:9:3 › Create Child › New child appears in list without page reload [272/287] [chromium-create-child] › e2e\mode_parent\create-child\happy-path.spec.ts:37:3 › Create Child › Create a child with name and age only [273/287] [chromium-create-child] › e2e\mode_parent\create-child\validation.spec.ts:24:3 › Create Child › Reject submission when Name is whitespace only [274/287] [chromium-create-child] › e2e\mode_parent\create-child\validation.spec.ts:34:3 › Create Child › Reject submission when Age is empty [275/287] [chromium-create-child] › e2e\mode_parent\create-child\validation.spec.ts:43:3 › Create Child › Reject negative age [276/287] [chromium-create-child] › e2e\mode_parent\create-child\validation.spec.ts:53:3 › Create Child › Enforce maximum Name length of 64 characters [277/287] [chromium-create-child] › e2e\mode_parent\create-child\validation.spec.ts:80:3 › Create Child › Reject age greater than 120 [278/287] [chromium-create-child] › e2e\mode_parent\create-child\happy-path.spec.ts:80:3 › Create Child › Create a child via the inline Create button in empty state [279/287] [chromium-create-child] › e2e\mode_parent\create-child\sse.spec.ts:52:3 › Create Child › New child appears in child mode list without page reload [280/287] [chromium-user-profile-delete] › e2e\mode_parent\user-profile\delete-account.spec.ts:9:3 › User Profile – Delete Account › Delete My Account opens confirmation dialog [281/287] [chromium-create-child] › e2e\mode_parent\create-child\happy-path.spec.ts:122:3 › Create Child › Create a child with a custom uploaded image [282/287] [chromium-user-profile-delete] › e2e\mode_parent\user-profile\delete-account.spec.ts:25:3 › User Profile – Delete Account › Delete button stays disabled for incomplete email [283/287] [chromium-user-profile-delete] › e2e\mode_parent\user-profile\delete-account.spec.ts:37:3 › User Profile – Delete Account › Delete button enables when matching email is entered [284/287] [chromium-user-profile-delete] › e2e\mode_parent\user-profile\delete-account.spec.ts:49:3 › User Profile – Delete Account › Cancel closes the dialog without deleting the account [285/287] [chromium-user-profile-delete] › e2e\mode_parent\user-profile\delete-account.spec.ts:64:3 › User Profile – Delete Account › Backdrop click does NOT close the delete dialog [286/287] [chromium-user-profile-delete] › e2e\mode_parent\user-profile\delete-account.spec.ts:76:3 › User Profile – Delete Account › Successful deletion: confirmation modal appears then redirects to landing page [287/287] [chromium-user-profile-delete] › e2e\mode_parent\user-profile\delete-account.spec.ts:97:3 › User Profile – Delete Account › Login after deletion is blocked with an appropriate error  12 failed [chromium-task-modification] › e2e\mode_parent\task-modification\scroll-to-edited-task.spec.ts:135:3 › Scroll to edited task after save › Edited reward card scrolls into viewport after override save [chromium-user-profile-pin] › e2e\mode_parent\user-profile\change-pin.spec.ts:156:3 › User Profile – Change Parent PIN › Back from success step exits parent mode and goes to child selector [chromium-tasks-rewards] › e2e\mode_parent\notifications\notification-click-scroll.spec.ts:149:3 › Notification click navigates and scrolls to task › Clicking a reward notification scrolls reward card into viewport [chromium-tasks-rewards] › e2e\mode_parent\task-sorting\child-sort-order.spec.ts:214:3 › Child mode sort order › Child reward sort: pending first, then ascending by points needed [chromium-tasks-rewards] › e2e\mode_parent\task-sorting\parent-sort-order.spec.ts:210:3 › Parent mode sort order › Parent reward sort: pending requests appear first [chromium-tasks-rewards] › e2e\mode_parent\tasks\chore-cancel.spec.ts:11:3 › Chore creation/edit cancellation › Cancel chore creation [chromium-tasks-rewards] › e2e\mode_parent\tasks\chore-cancel.spec.ts:38:3 › Chore creation/edit cancellation › Cancel chore edit [chromium-tasks-rewards] › e2e\mode_parent\tasks\chore-create-edit.spec.ts:12:3 › Chore management › Create a new chore (parent mode) [chromium-tasks-rewards] › e2e\mode_parent\tasks\kindness-cancel.spec.ts:11:3 › Kindness act cancellation › Cancel kindness act creation [chromium-tasks-rewards] › e2e\mode_parent\tasks\kindness-cancel.spec.ts:31:3 › Kindness act cancellation › Cancel kindness act edit [chromium-tasks-rewards] › e2e\mode_parent\tasks\kindness-create-edit.spec.ts:13:3 › Kindness act management › Create a new kindness act (parent mode) [chromium-tasks-rewards] › e2e\mode_parent\tasks\penalty-cancel.spec.ts:32:3 › Penalty creation/edit cancellation › Cancel penalty edit 1 skipped 4 did not run 270 passed (3.0m)