73 lines
2.8 KiB
Gherkin
73 lines
2.8 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-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
|