Files
2026-10-23 13:31:12 +02:00

111 lines
4.6 KiB
Gherkin

Feature: Reliable personal browser experience
@WJ-036 @browser
Scenario: Keep a work draft across deployment
Given Alice has typed an unsaved work entry
When the backend stops for deployment
Then the open client shows a maintenance message
And a fresh public request shows a maintenance page
When the deployment succeeds and Alice reconnects
Then her draft is available for review
And it has not been automatically saved
@WJ-037 @browser
Scenario: Show an offline notice without committing work
Given the device loses connectivity
When Alice opens the app
Then an offline notice is displayed
And no work or habit mutation is reported as saved
@WJ-038 @browser
Scenario: Initialize and override the language
Given a new user's preferred supported browser language is German
When the user first signs in
Then the interface is German
When the user chooses English
Then the account uses English on subsequent sign-ins
@WJ-039 @browser
Scenario: Keep theme overrides local to the device
Given Alice's smartphone is set to dark and her desktop to system
When both devices open Werkjournal
Then the smartphone uses the dark theme
And the desktop follows its own system preference
@WJ-040 @browser
Scenario Outline: Export private tracking data
Given Alice and Bob both have tracking data
When Alice exports <period>
Then one versioned JSON file contains only Alice's records in that period
And referenced catalog names and effective allowances are included
And no credentials or push secrets are included
Examples:
| period |
| September 2026|
| the year 2026 |
@WJ-066 @browser
Scenario: Import a tracking file beside existing records
Given Alice has recorded work and holds a tracking file from another journal
When Alice imports that file in Reports
Then its work, habit and day-off records are added to her account
And her own records are unchanged
When Alice imports the same file again
Then the dialog reports every record as already present
@WJ-041 @browser
Scenario: Default to English for an unsupported browser language
Given a new user has no German or English browser language preference
When the user first signs in
Then the interface is English
@WJ-042 @browser
Scenario: A different account cannot recover a private draft
Given Alice has an unsaved local draft
When Alice signs out and Bob signs in on the same browser
Then Alice's draft is removed
And Bob cannot recover Alice's draft
@WJ-058 @browser
Scenario: Preserve a second tab's work draft after saving the first
Given two tabs have separate drafts for the same work entry
When the first tab saves its changes
And the second tab reloads and opens its draft
Then the second tab still shows its own unsaved input
And adopting the first tab's version requires an explicit action
@WJ-059 @browser
Scenario: Recover a work draft from a closed tab
Given Alice has an unsaved work draft in a tab
When she closes that tab and opens the same form in a new tab
Then she can explicitly open the earlier draft from this device
And no work is saved merely by opening the draft
@WJ-075 @browser
Scenario: Choose when the work reminder arrives
Given Alice's account still uses the reminder time of earlier releases
When she sets her reminder time to half past five in the afternoon and saves
Then reopening settings offers that time back
And the reminder panel on that device announces that time
When she enters a time outside the offered ones
Then the page refuses it and keeps the saved time
@WJ-076 @browser
Scenario: Reach the day before and after from the home page
Given Alice has recorded work on today and on the day before
When she steps back one day on the home page
Then that day's own hours and entry are shown there
And counting a habit from there belongs to that day
When she steps forward one day
Then today is shown again and no step beyond today is offered
When she opens the home page with the earlier day in the address
Then that day is shown again
And a day beyond today in the address lands on today
@WJ-077 @browser
Scenario: Pick a day on the home page without a date field
Given Alice is on the home page
Then the heading names the day and no motto takes a line of its own
And the day steps and the date button share one line
When she opens the date button and picks the first of that month
Then the home page shows that day