mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-16 15:20:13 +01:00
176 lines
7.7 KiB
Gherkin
176 lines
7.7 KiB
Gherkin
Feature: dependencies
|
|
As a Tracks user
|
|
In order to keep track of complex todos that are dependent on each other
|
|
I want to assign and manage todo dependencies
|
|
|
|
Background:
|
|
Given the following user record
|
|
| login | password | is_admin |
|
|
| testuser | secret | false |
|
|
And I have logged in as "testuser" with password "secret"
|
|
|
|
@javascript
|
|
Scenario: Adding dependency to dependency by drag and drop
|
|
Given I have a project "dependencies" with 3 todos
|
|
And "todo 2" depends on "todo 1"
|
|
When I go to the "dependencies" project
|
|
And I drag "todo 3" to "todo 2"
|
|
Then the successors of "todo 1" should include "todo 2"
|
|
And the successors of "todo 2" should include "todo 3"
|
|
When I expand the dependencies of "todo 1"
|
|
Then I should see "todo 2" within the dependencies of "todo 1"
|
|
And I should see "todo 3" within the dependencies of "todo 1"
|
|
When I expand the dependencies of "todo 2"
|
|
Then I should see "todo 3" within the dependencies of "todo 2"
|
|
|
|
@javascript @wip
|
|
Scenario: I can edit a todo to add the todo as a dependency to another
|
|
Given I have a context called "@pc"
|
|
And I have a project "dependencies" that has the following todos
|
|
| description | context |
|
|
| test 1 | @pc |
|
|
| test 2 | @pc |
|
|
| test 3 | @pc |
|
|
When I go to the "dependencies" project
|
|
When I edit the dependency of "test 1" to add "test 2" as predecessor
|
|
Then I should see "test 1" within the dependencies of "test 2"
|
|
And I should see "test 1" in the deferred container
|
|
When I edit the dependency of "test 1" to add "test 3" as predecessor
|
|
Then I should see "test 1" within the dependencies of "test 2"
|
|
Then I should see "test 1" within the dependencies of "test 3"
|
|
When I edit the dependency of "test 1" to remove "test 3" as predecessor
|
|
And I edit the dependency of "test 2" to add "test 3" as predecessor
|
|
Then I should see "test 1" within the dependencies of "test 3"
|
|
Then I should see "test 2" within the dependencies of "test 3"
|
|
|
|
@javascript
|
|
Scenario: I can remove a dependency by editing the todo
|
|
Given I have a context called "@pc"
|
|
And I have a project "dependencies" that has the following todos
|
|
| description | context |
|
|
| test 1 | @pc |
|
|
| test 2 | @pc |
|
|
And "test 1" depends on "test 2"
|
|
When I go to the "dependencies" project
|
|
Then I should see "test 1" in the deferred container
|
|
When I edit the dependency of "test 1" to remove "test 2" as predecessor
|
|
Then I should not see "test 1" within the dependencies of "test 2"
|
|
And I should not see "test 1" in the deferred container
|
|
|
|
@javascript
|
|
Scenario: Completing a predecessor will activate successors
|
|
Given I have a context called "@pc"
|
|
And I have a project "dependencies" that has the following todos
|
|
| description | context |
|
|
| test 1 | @pc |
|
|
| test 2 | @pc |
|
|
| test 3 | @pc |
|
|
And "test 2" depends on "test 1"
|
|
When I go to the "dependencies" project
|
|
Then I should see "test 2" in the deferred container
|
|
And I should see "test 1" in the context container for "@pc"
|
|
When I mark "test 1" as complete
|
|
Then I should see "test 1" in the completed container
|
|
And I should see "test 2" in the context container for "@pc"
|
|
And I should not see "test 2" in the deferred container
|
|
And I should see empty message for deferred todos of project
|
|
|
|
@javascript
|
|
Scenario: Deleting a predecessor will activate successors
|
|
Given I have a context called "@pc"
|
|
And I have a project "dependencies" that has the following todos
|
|
| description | context |
|
|
| test 1 | @pc |
|
|
| test 2 | @pc |
|
|
| test 3 | @pc |
|
|
And "test 2" depends on "test 1"
|
|
When I go to the "dependencies" project
|
|
Then I should see "test 2" in the deferred container
|
|
And I should see "test 1" in the context container for "@pc"
|
|
When I delete the action "test 1"
|
|
Then I should see "test 2" in the context container for "@pc"
|
|
And I should not see "test 2" in the deferred container
|
|
And I should see empty message for deferred todos of project
|
|
|
|
@javascript
|
|
Scenario: Deleting a successor will update predecessor
|
|
Given I have a context called "@pc"
|
|
And I have a project "dependencies" that has the following todos
|
|
| description | context |
|
|
| test 1 | @pc |
|
|
| test 2 | @pc |
|
|
| test 3 | @pc |
|
|
And "test 2" depends on "test 1"
|
|
And "test 3" depends on "test 1"
|
|
When I go to the "dependencies" project
|
|
And I expand the dependencies of "test 1"
|
|
Then I should see "test 2" within the dependencies of "test 1"
|
|
And I should see "test 3" within the dependencies of "test 1"
|
|
When I delete the action "test 2"
|
|
And I expand the dependencies of "test 1"
|
|
Then I should see "test 3" within the dependencies of "test 1"
|
|
And I should not see "test 2"
|
|
|
|
@javascript
|
|
Scenario: Dragging an action to a completed action will not add it as a dependency
|
|
Given I have a context called "@pc"
|
|
And I have a project "dependencies" that has the following todos
|
|
| description | context | completed |
|
|
| test 1 | @pc | no |
|
|
| test 2 | @pc | no |
|
|
| test 3 | @pc | yes |
|
|
When I go to the "dependencies" project
|
|
And I drag "test 1" to "test 3"
|
|
Then I should see an error flash message saying "Cannot add this action as a dependency to a completed action!"
|
|
And I should see "test 1" in the context container for "@pc"
|
|
|
|
@javascript
|
|
Scenario Outline: Marking a successor as complete will update predecessor
|
|
Given I have a context called "@pc"
|
|
And I have selected the view for group by <grouping>
|
|
And I have a project "dependencies" that has the following todos
|
|
| description | context | completed | tags |
|
|
| test 1 | @pc | no | bla |
|
|
| test 2 | @pc | no | bla |
|
|
| test 3 | @pc | yes | bla |
|
|
When I go to the <page>
|
|
And I drag "test 1" to "test 2"
|
|
When I expand the dependencies of "test 2"
|
|
Then I should see "test 1" within the dependencies of "test 2"
|
|
And I should see "test 1" in the deferred container
|
|
When I mark "test 1" as complete
|
|
Then I should see that "test 2" does not have dependencies
|
|
And I should see "test 1" in the completed container
|
|
|
|
Scenarios:
|
|
| page | grouping |
|
|
| "dependencies" project | project |
|
|
| tag page for "bla" | context |
|
|
| tag page for "bla" | project |
|
|
|
|
@javascript
|
|
Scenario Outline: Marking a successor as active will update predecessor
|
|
Given I have a context called "@pc"
|
|
And I have selected the view for group by <grouping>
|
|
And I have a project "dependencies" that has the following todos
|
|
| description | context | completed | tags |
|
|
| test 1 | @pc | no | bla |
|
|
| test 2 | @pc | no | bla |
|
|
| test 3 | @pc | yes | bla |
|
|
When I go to the <page>
|
|
And I drag "test 1" to "test 2"
|
|
Then I should see "test 1" in the deferred container
|
|
When I mark "test 1" as complete
|
|
And I should see "test 1" in the completed container
|
|
And I should see that "test 2" does not have dependencies
|
|
When I mark the completed todo "test 1" active
|
|
Then I should not see "test 1" in the completed container
|
|
And I should see "test 1" in the deferred container
|
|
And I should see "test 1" within the dependencies of "test 2"
|
|
|
|
Scenarios:
|
|
| page | grouping |
|
|
| "dependencies" project | project |
|
|
| "dependencies" project | context |
|
|
| tag page for "bla" | context |
|
|
| tag page for "bla" | project |
|