kanbanworkflowstimelinescrumrubyroadmapproject-planningproject-managementopenprojectangularissue-trackerifcgantt-chartganttbug-trackerboardsbcf
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.
157 lines
5.9 KiB
157 lines
5.9 KiB
#-- copyright
|
|
# OpenProject Backlogs Plugin
|
|
#
|
|
# Copyright (C)2013-2014 the OpenProject Foundation (OPF)
|
|
# Copyright (C)2011 Stephan Eckardt, Tim Felgentreff, Marnen Laibow-Koser, Sandro Munda
|
|
# Copyright (C)2010-2011 friflaj
|
|
# Copyright (C)2010 Maxime Guilbot, Andrew Vit, Joakim Kolsjö, ibussieres, Daniel Passos, Jason Vasquez, jpic, Emiliano Heyns
|
|
# Copyright (C)2009-2010 Mark Maglana
|
|
# Copyright (C)2009 Joe Heck, Nate Lowrie
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify it under
|
|
# the terms of the GNU General Public License version 3.
|
|
#
|
|
# OpenProject Backlogs is a derivative work based on ChiliProject Backlogs.
|
|
# The copyright follows:
|
|
# Copyright (C) 2010-2011 - Emiliano Heyns, Mark Maglana, friflaj
|
|
# Copyright (C) 2011 - Jens Ulferts, Gregor Schmidt - Finn GmbH - Berlin, Germany
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License
|
|
# as published by the Free Software Foundation; either version 2
|
|
# of the License, or (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
#
|
|
# See doc/COPYRIGHT.rdoc for more details.
|
|
#++
|
|
|
|
Feature: Edit story type and status
|
|
As a user
|
|
I want to edit the type and the status of a story
|
|
In consideration of existing workflows
|
|
So that I can not make changes that are not permitted by the system
|
|
|
|
Background:
|
|
Given there is 1 project with:
|
|
| name | ecookbook |
|
|
And I am working in project "ecookbook"
|
|
And the project uses the following modules:
|
|
| backlogs |
|
|
And the following types are configured to track stories:
|
|
| Story |
|
|
| Epic |
|
|
| Bug |
|
|
And the type "Task" is configured to track tasks
|
|
And the project uses the following types:
|
|
| Story |
|
|
| Bug |
|
|
| Task |
|
|
And there is 1 user with:
|
|
| login | romano |
|
|
And there is a role "manager"
|
|
And the user "romano" is a "manager"
|
|
And the role "manager" may have the following rights:
|
|
| view_master_backlog |
|
|
| create_stories |
|
|
| update_stories |
|
|
| view_work_packages |
|
|
| edit_work_packages |
|
|
| manage_subtasks |
|
|
And the project has the following sprints:
|
|
| name | start_date | effective_date |
|
|
| Sprint 001 | 2010-01-01 | 2010-01-31 |
|
|
And there are the following issue status:
|
|
| name | is_closed | is_default |
|
|
| New | false | true |
|
|
| Resolved | false | false |
|
|
| Closed | true | false |
|
|
| Rejected | true | false |
|
|
And there is a default issuepriority with:
|
|
| name | Normal |
|
|
And the project has the following stories in the following sprints:
|
|
| subject | sprint | type | status | story_points |
|
|
| Story A | Sprint 001 | Bug | New | 10 |
|
|
| Story B | Sprint 001 | Story | New | 20 |
|
|
| Story C | Sprint 001 | Bug | New | 20 |
|
|
And the Type "Story" has for the Role "manager" the following workflows:
|
|
| old_status | new_status |
|
|
| New | Rejected |
|
|
| Rejected | Closed |
|
|
| Rejected | New |
|
|
And the Type "Bug" has for the Role "manager" the following workflows:
|
|
| old_status | new_status |
|
|
| New | Closed |
|
|
And I am already logged in as "romano"
|
|
And I am on the master backlog
|
|
|
|
@javascript
|
|
Scenario: Display only statuses which are allowed by workflow
|
|
When I click on the text "Story A"
|
|
|
|
And the available status of the story called "Story A" should be the following:
|
|
| New |
|
|
| Closed |
|
|
|
|
When I select "Closed" from "status_id"
|
|
And I confirm the story form
|
|
|
|
Then the displayed attributes of the story called "Story A" should be the following:
|
|
| Status | Closed |
|
|
|
|
When I click on the text "Story A"
|
|
|
|
Then the available status of the story called "Story A" should be the following:
|
|
| Closed |
|
|
|
|
@javascript
|
|
Scenario: Select a status and change to a type that does not offer the status
|
|
When I click on the text "Story B"
|
|
|
|
Then the available status of the story called "Story B" should be the following:
|
|
| New |
|
|
| Rejected |
|
|
|
|
When I select "Rejected" from "status_id"
|
|
And I select "Bug" from "type_id"
|
|
|
|
Then the editable attributes of the story called "Story B" should be the following:
|
|
| Status | |
|
|
And the available status of the story called "Story B" should be the following:
|
|
| New |
|
|
|
|
When I confirm the story form
|
|
Then the error alert should show "Status can't be blank"
|
|
|
|
When I press "OK"
|
|
And I click on the text "Story B"
|
|
And I select "New" from "status_id"
|
|
And I confirm the story form
|
|
|
|
Then the displayed attributes of the story called "Story B" should be the following:
|
|
| Status | New |
|
|
|
|
@javascript
|
|
Scenario: Edit a story having no permission for the status of the current ticket
|
|
When the Type "Bug" has for the Role "manager" the following workflows:
|
|
| old_status | new_status |
|
|
| New | Resolved |
|
|
And I am on the master backlog
|
|
And I click on the text "Story C"
|
|
|
|
Then the available status of the story called "Story C" should be the following:
|
|
| New |
|
|
| Resolved |
|
|
|
|
When I select "Resolved" from "status_id"
|
|
And I confirm the story form
|
|
|
|
Then the displayed attributes of the story called "Story C" should be the following:
|
|
| Status | Resolved |
|
|
|