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/work_packages/update.feature

156 lines
6.7 KiB

#-- copyright
# OpenProject is a project management system.
# Copyright (C) 2012-2015 the OpenProject Foundation (OPF)
#
# 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 is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# 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: Updating work packages
Background:
Given there is 1 user with:
| login | manager |
| firstname | the |
| lastname | manager |
And the user "manager" has the following preferences
| warn_on_leaving_unsaved | false |
And there are the following types:
| Name | Is milestone |
| Phase1 | false |
| Phase2 | false |
And there are the following project types:
| Name |
| Standard Project |
And there is 1 project with the following:
| identifier | ecookbook |
| name | ecookbook |
And the project named "ecookbook" is of the type "Standard Project"
And the following types are enabled for projects of type "Standard Project"
| Phase1 |
| Phase2 |
And there is a role "manager"
And the role "manager" may have the following rights:
10 years ago
| edit_work_packages |
| view_work_packages |
| manage_subtasks |
| add_work_package_notes |
And I am working in project "ecookbook"
And the user "manager" is a "manager"
And there are the following priorities:
| name | default |
| prio1 | true |
| prio2 | |
And there are the following status:
| name | default |
| status1 | true |
| status2 | |
And the project "ecookbook" has 1 version with the following:
| name | version1 |
And the type "Phase1" has the default workflow for the role "manager"
And the type "Phase2" has the default workflow for the role "manager"
And there are the following work packages in project "ecookbook":
| subject | type | status | fixed_version |
| wp1 | Phase1 | status1 | version1 |
And I am already logged in as "manager"
@javascript
Scenario: Updating the work package and seeing the results on the show page
When I go to the edit page of the work package called "wp1"
And I click the edit work package button
And I click on "Show all"
And I fill in the following:
| Type | Phase2 |
# This is to be removed once the bug
# that clears the inserted/selected values
# after a type refresh is fixed.
And I wait for the AJAX requests to finish
And I fill in the following:
| Responsible | the manager |
| Assignee | the manager |
| Start date | 2013-03-04 |
| Due date | 2013-03-06 |
| Estimated time | 5.00 |
| Progress (%) | 30 |
| Priority | prio2 |
| Status | status2 |
| Subject | New subject |
| Description | Desc2 |
And I submit the form by the "Save" button
Then I should see "Successful update"
Then I should be on the page of the work package "New subject"
And the work package should be shown with the following values:
| Responsible | the manager |
| Assignee | the manager |
| Date | 03/04/2013 - 03/06/2013 |
| Estimated time | 5.00 |
| Progress (%) | 30 |
| Priority | prio2 |
| Status | status2 |
| Subject | New subject |
| Type | Phase2 |
| Description | Desc2 |
@javascript
Scenario: Concurrent updates to work packages
When I go to the edit page of the work package called "wp1"
And I click the edit work package button
And I click on "Show all"
And I fill in the following:
| Start date | 03-04-2013 |
And the work_package "wp1" is updated with the following:
| Start date | 04-04-2013 |
And I submit the form by the "Save" button
Then I should see an error notification stating "Couldn't update the resource because of conflicting modifications."
@javascript
Scenario: User adds a comment to a work package with previewing the stuff before
When I go to the page of the issue "wp1"
And I click on the edit button
And I fill in a comment with "human horn"
And I preview the comment to be added and see "human horn"
And I submit the form by the "Save" button
And I should see "The comment was successfully added."
And I should see the comment "human horn"
@javascript
Scenario: On a work package with children a user should not be able to change attributes which are overridden by children
And there are the following work packages in project "ecookbook":
| subject | type | status | fixed_version | priority | done_ratio | estimated_hours | start_date | due_date |
| child | Phase1 | status1 | version1 | prio2 | 50 | 5 | 2015-10-01 | 2015-10-30 |
| parent | |   |   |   | 0 |   | | |
Given the work package "parent" has the following children:
| child |
When I go to the edit page of the work package "parent"
And I click the edit work package button
And I click on "Show all"
Then the work package should be shown with the following values:
| Priority | prio2 |
| Date | 10/01/2015 - 10/30/2015 |
| Estimated time | 5 |
| Progress (%) | 50 |
And there should not be a "Progress \(%\)" field
And there should not be a "Priority" field
And there should not be a "Start date" field
And there should not be a "End date" field
And there should not be a "Estimated time" field