mirror of
https://github.com/TracksApp/tracks.git
synced 2025-09-22 05:50:47 +02:00
120 lines
4.5 KiB
Gherkin
120 lines
4.5 KiB
Gherkin
Feature: Manage the list of contexts
|
|
In order to keep track and manage all of my contexts
|
|
As a Tracks user
|
|
I want to manage my list of contexts
|
|
|
|
Background:
|
|
Given the following user record
|
|
| login | password | is_admin |
|
|
| testuser | secret | false |
|
|
And I have logged in as "testuser" with password "secret"
|
|
|
|
Scenario: The list of contexts contain all contexts
|
|
Given I have the following contexts
|
|
| context | hide |
|
|
| @ipad | false |
|
|
| @home | false |
|
|
| @boss | false |
|
|
When I go to the contexts page
|
|
Then I should see "@ipad"
|
|
And I should see "@home"
|
|
And I should see "@boss"
|
|
And the badge should show 3
|
|
|
|
Scenario: Clicking on a context takes me to the context page
|
|
Given I have a context called "@computer"
|
|
When I go to the contexts page
|
|
And I follow "@computer"
|
|
Then I should be on the context page for "@computer"
|
|
|
|
Scenario: The context view shows all todos
|
|
Given I have a todo "foo" in the context "@bar" which is due tomorrow
|
|
Given I have a deferred todo "foo2" in the context "@bar"
|
|
Given I have a todo "foo3" in the context "@bar"
|
|
When I go to the contexts page
|
|
And I follow "@bar"
|
|
Then I should be on the context page for "@bar"
|
|
And the badge should show 3
|
|
|
|
@javascript
|
|
Scenario: Delete context from context page should update badge
|
|
Given I have a context called "@computer"
|
|
And I have a context called "@ipad"
|
|
When I go to the contexts page
|
|
Then the badge should show 2
|
|
And the context list badge for active contexts should show 2
|
|
When I delete the context "@computer"
|
|
Then I should see that a context named "@computer" is not present
|
|
And the badge should show 1
|
|
And the context list badge for active contexts should show 1
|
|
|
|
@javascript
|
|
Scenario: Delete last context from context page should remove the contexts container for hidden or active contexts
|
|
Given I have a context called "@computer"
|
|
And I have a hidden context called "@ipad"
|
|
When I go to the contexts page
|
|
And I should see that the context container for active contexts is present
|
|
And I should see that the context container for hidden contexts is present
|
|
When I delete the context "@computer"
|
|
Then I should see that a context named "@computer" is not present
|
|
And I should see that the context container for active contexts is not present
|
|
When I delete the context "@ipad"
|
|
Then I should see that a context named "@ipad" is not present
|
|
And I should see that the context container for hidden contexts is not present
|
|
|
|
@javascript
|
|
Scenario: Delete context from context page right after an edit
|
|
Given I have a context called "@computer"
|
|
When I go to the contexts page
|
|
And I edit the context to rename it to "@laptop"
|
|
When I delete the context "@laptop"
|
|
Then he should see that a context named "@laptop" is not present
|
|
And the badge should show 0
|
|
|
|
@javascript
|
|
Scenario: Edit context from context twice
|
|
Given I have a context called "@computer"
|
|
When I go to the contexts page
|
|
And I edit the context to rename it to "@laptop"
|
|
And I edit the context to rename it to "@ipad"
|
|
Then he should see that a context named "@computer" is not present
|
|
And he should see that a context named "@laptop" is not present
|
|
And he should see that a context named "@ipad" is present
|
|
And the badge should show 1
|
|
|
|
@javascript
|
|
Scenario Outline: Add a new context with state
|
|
Given I have the following contexts
|
|
| context | hide |
|
|
| @ipad | true |
|
|
| @home | false |
|
|
When I go to the contexts page
|
|
And I add a new <state> context "<name>"
|
|
Then I should see the context "<name>" under "<state>"
|
|
|
|
Examples:
|
|
| state | name |
|
|
| active | @phone |
|
|
| hidden | @hidden |
|
|
|
|
@javascript
|
|
Scenario: I can drag and drop to order the contexts
|
|
Given I have the following contexts
|
|
| context |
|
|
| @ipad |
|
|
| @home |
|
|
| @boss |
|
|
When I go to the contexts page
|
|
Then context "@ipad" should be above context "@home"
|
|
When I drag context "@home" above context "@ipad"
|
|
Then context "@home" should be above context "@ipad"
|
|
|
|
@javascript
|
|
Scenario: Hiding and unhiding the new context form
|
|
When I go to the contexts page
|
|
Then the new context form should be visible
|
|
When I follow "Hide form"
|
|
Then the new context form should not be visible
|
|
When I follow "Create a new context"
|
|
Then the new context form should be visible
|
|
|