tracks/features/project_list.feature

114 lines
4.6 KiB
Gherkin

Feature: Manage the list of projects
In order to keep track and manage of all my projects
As a Tracks user
I want to manage my list of projects
Background:
Given the following user record
| login | password | is_admin |
| testuser | secret | false |
And there exists a project "manage me" for user "testuser"
And there exists a project "upgrade jquery" for user "testuser"
And there exists a project "a project name starting with a" for user "testuser"
And I have logged in as "testuser" with password "secret"
Scenario: The list of project contain all projects
When I go to the projects page
Then I should see "manage me"
And I should see "upgrade jquery"
And the badge should show 3
Scenario: Clicking on a project takes me to the project page
When I go to the projects page
And I follow "manage me"
Then I should be on the "manage me" project page
@selenium
Scenario: Editing a project name will update the list
When I go to the projects page
And I edit the project name of "manage me" to "manage him"
Then I should see "manage him"
@selenium
Scenario: Deleting a project will remove it from the list
When I go to the projects page
And I delete project "manage me"
Then I should not see "manage me"
And the badge should show 2
And the project list badge for "active" projects should show 2
@selenium
Scenario: Deleting a project after a edit will remove it from the list
# make sure the js is enabled after an edit and another edit
When I go to the projects page
And I edit the project name of "manage me" to "manage him"
Then I should see "manage him"
When I edit the project name of "manage him" to "manage her"
Then I should see "manage her"
When I delete project "manage her"
Then I should not see "manage her"
And the badge should show 2
And the project list badge for "active" projects should show 2
@selenium
Scenario: Changing project state will move project to other state list
When I go to the projects page
Then the project "manage me" should be in state list "active"
And the project list badge for "active" projects should show 3
When I edit the project state of "manage me" to "hidden"
Then the project "manage me" should not be in state list "active"
And the project "manage me" should be in state list "hidden"
And the project list badge for "active" projects should show 2
And the project list badge for "hidden" projects should show 1
@selenium
Scenario: Dragging a project to change list order of projects
When I go to the projects page
Then the project "manage me" should be above the project "upgrade jquery"
When I drag the project "manage me" below "upgrade jquery"
Then the project "upgrade jquery" should be above the project "manage me"
@selenium
Scenario: Hiding and unhiding the new project form
When I go to the projects page
Then the new project form should be visible
When I follow "Hide form"
Then the new project form should not be visible
When I follow "Create a new project"
Then the new project form should be visible
@selenium
Scenario: Adding a new project
When I go to the projects page
And I submit a new project with name "finish cucumber tests"
Then I should see "finish cucumber tests"
And the badge should show 4
And the project list badge for "active" projects should show 4
@selenium
Scenario: Adding a new project and take me to the project page
When I go to the projects page
And I submit a new project with name "finish cucumber tests" and select take me to the project
Then I should be on the "finish cucumber tests" project page
@selenium
Scenario: Sorting the project alphabetically
When I go to the projects page
Then the project "manage me" should be above the project "a project name starting with a"
When I sort the active list alphabetically
Then the project "a project name starting with a" should be above the project "manage me"
@selenium
Scenario: Sorting the project by number of task
Given I have a project "test" with 2 todos
And I have a project "very busy" with 10 todos
When I go to the projects page
Then the project "test" should be above the project "very busy"
When I sort the list by number of tasks
Then the project "very busy" should be above the project "test"
@selenium
Scenario: Cannot add a project with comma in the name
When I go to the projects page
And I submit a new project with name "foo,bar"
Then I should see "Name cannot contain the comma"