OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
openproject/features/timelines/project_association_managem...

184 lines
6.7 KiB

#-- copyright
# OpenProject is a project management system.
#
# Copyright (C) 2012-2013 the OpenProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# See doc/COPYRIGHT.rdoc for more details.
#++
Feature: Project Association Management
As a Project Member
I want to view, edit and delete project associations for my project
So that I can document dependencies to other projects properly
Background:
Given there are the following project types:
| Name | Allows Association |
| Waterfall Project | true |
| Scrum Project | true |
And there are the following roles:
| Viewer |
| Editor |
| Project Admin |
And the role "Viewer" may have the following rights:
| view_timelines |
| view_project_associations |
And the role "Editor" may have the following rights:
| view_timelines |
| view_project_associations |
| edit_project_associations |
And the role "Project Admin" may have the following rights:
| view_timelines |
| view_project_associations |
| edit_project_associations |
| delete_project_associations |
And there are the following projects of type "Waterfall Project":
| My Project |
| Visible |
| Public |
| Other |
And there is a project named "Scrum" of type "Scrum Project"
And the project "My Project" is not public
And the project "Other" is not public
And the project "Scrum" is not public
And the project "Visible" is not public
And the project "Public" is public
And there are the following users:
| Viewer |
| Editor |
| Project-Admin |
And the user "Viewer" is a "Viewer" in the project "Scrum"
And the user "Editor" is a "Viewer" in the project "Scrum"
And the user "Project-Admin" is a "Viewer" in the project "Scrum"
And the user "Viewer" is a "Viewer" in the project "Visible"
And the user "Editor" is a "Viewer" in the project "Visible"
And the user "Project-Admin" is a "Viewer" in the project "Visible"
And I am working in project "My Project"
And the project uses the following modules:
| timelines |
And the user "Viewer" is a "Viewer"
And the user "Editor" is a "Editor"
And the user "Project-Admin" is a "Project Admin"
Scenario: Reader does not render anything when there are no project associations
Given I am logged in as "Viewer"
When I go to the page of the project called "My Project"
And I toggle the "Timelines" submenu
And I follow "Dependencies"
Then I should not see "Waterfall Project"
And I should not see "Scrum Project"
And I should not see "No data to display"
Scenario: Reader gets 'No data to display' when there are associations to unknown projects
Given I am logged in as "Viewer"
And there are the following project associations:
| Project A | Project B |
| My Project | Other |
When I go to the page of the project called "My Project"
And I toggle the "Timelines" submenu
And I follow "Dependencies"
Then I should not see "Waterfall Project"
And I should not see "Scrum Project"
And I should not see "No data to display"
Scenario: Reader sees associations to projects where s/he is member and to public ones
Given I am logged in as "Viewer"
And there are the following project associations:
| Project A | Project B |
| My Project | Visible |
| My Project | Public |
| Scrum | My Project |
When I go to the page of the project called "My Project"
And I toggle the "Timelines" submenu
And I follow "Dependencies"
Then I should see "Visible" below "Waterfall Project"
And I should see "Public" below "Waterfall Project"
And I should see "Scrum" below "Scrum Project"
Scenario: Reader is not able to add associations
Given I am logged in as "Viewer"
When I go to the page of the project called "My Project"
And I click on "Dependencies"
And I should not be able to add new project associations
@javascript
Scenario: Editor is able to add associations
Given I am logged in as "Editor"
When I go to the page of the project called "My Project"
And I toggle the "Timelines" submenu
And I click on "Dependencies"
And I click on "New dependency"
When I select "Visible" from "Set dependency for My Project with"
And I fill in "A good reason" for "Cause"
And I press "Add dependency"
Then I should see a notice flash stating "Successful creation."
And I should see "Visible" below "Waterfall Project"
Scenario: Editor is able to edit associations
Given I am logged in as "Editor"
And there are the following project associations:
| Project A | Project B | Description |
| My Project | Visible | A good reason |
When I go to the page of the project called "My Project"
And I toggle the "Timelines" submenu
And I follow "Dependencies"
When I follow "Edit Visible"
And I fill in "A better reason" for "Cause"
And I press "Update"
Then I should see a notice flash stating "Successful update."
And I should see "A better reason" below "Waterfall Project"
Scenario: Editor cannot delete associations
Given I am logged in as "Editor"
And there are the following project associations:
| Project A | Project B | Description |
| My Project | Visible | A good reason |
When I go to the page of the project called "My Project"
And I toggle the "Timelines" submenu
And I follow "Dependencies"
Then I should not see "Delete Visible"
Scenario: Project-Admin may delete associations
Given I am logged in as "Project-Admin"
And there are the following project associations:
| Project A | Project B | Description |
| My Project | Visible | A good reason |
When I go to the page of the project called "My Project"
And I toggle the "Timelines" submenu
And I follow "Dependencies"
When I follow "Delete Visible"
And I press "Delete"
Then I should see a notice flash stating "Successful deletion."
Then I should not see "Waterfall Project"
And I should not see "Scrum Project"
And I should not see "No data to display"
And I should not see "A good reason"