From 2726d84bf940b40f8994347a6b822bc73be6ff0b Mon Sep 17 00:00:00 2001 From: Jens Ulferts Date: Wed, 4 Nov 2015 13:45:10 +0100 Subject: [PATCH 1/2] add author to "people" list --- frontend/app/work_packages/services/index.js | 2 +- .../work-packages-overview-service-test.js | 4 +- spec/features/work_package_show_spec.rb | 58 +++++++++++++++++++ spec/support/pages/full_work_package.rb | 10 ++++ 4 files changed, 71 insertions(+), 3 deletions(-) create mode 100644 spec/features/work_package_show_spec.rb diff --git a/frontend/app/work_packages/services/index.js b/frontend/app/work_packages/services/index.js index a50b06e482..97b2a4da95 100644 --- a/frontend/app/work_packages/services/index.js +++ b/frontend/app/work_packages/services/index.js @@ -40,7 +40,7 @@ angular.module('openproject.workPackages.services') }, { groupName: 'people', - attributes: ['assignee', 'responsible'] + attributes: ['author', 'assignee', 'responsible'] }, { groupName: 'estimatesAndTime', diff --git a/frontend/tests/unit/tests/work_packages/services/work-packages-overview-service-test.js b/frontend/tests/unit/tests/work_packages/services/work-packages-overview-service-test.js index 960fa5a898..15990b4e85 100644 --- a/frontend/tests/unit/tests/work_packages/services/work-packages-overview-service-test.js +++ b/frontend/tests/unit/tests/work_packages/services/work-packages-overview-service-test.js @@ -74,8 +74,8 @@ describe('WorkPackagesOverviewService', function() { var attributes = Service.getGroupAttributes(groupName); expect(attributes).not.to.be.null; - expect(attributes).to.have.length(3); - expect(attributes).to.include.members(['assignee', 'responsible', attribute]); + expect(attributes).to.have.length(4); + expect(attributes).to.include.members(['author', 'assignee', 'responsible', attribute]); expect(attributes[1]).to.equal(attribute); }); }); diff --git a/spec/features/work_package_show_spec.rb b/spec/features/work_package_show_spec.rb new file mode 100644 index 0000000000..d83dcba0a9 --- /dev/null +++ b/spec/features/work_package_show_spec.rb @@ -0,0 +1,58 @@ +#-- 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. +#++ + +require 'spec_helper' + +RSpec.feature 'Work package show page', selenium: true do + let(:user) { FactoryGirl.create(:admin) } + let(:project) { FactoryGirl.create(:project) } + let(:work_package) { + FactoryGirl.build(:work_package, + project: project, + assigned_to: user, + responsible: user) + } + + before do + login_as(user) + work_package.save! + end + + scenario 'all different angular based work package views', js: true do + wp_page = Pages::FullWorkPackage.new(work_package) + + wp_page.visit! + + wp_page.expect_attributes Author: work_package.author.name, + Type: work_package.type.name, + Status: work_package.status.name, + Priority: work_package.priority.name, + Assignee: work_package.assigned_to.name, + Responsible: work_package.responsible.name + end +end diff --git a/spec/support/pages/full_work_package.rb b/spec/support/pages/full_work_package.rb index 352010cc8d..68ca254161 100644 --- a/spec/support/pages/full_work_package.rb +++ b/spec/support/pages/full_work_package.rb @@ -52,6 +52,16 @@ module Pages text: work_package.journals.last.user.name) end + def expect_attributes(attribute_expectations) + attribute_expectations.each do |label_name, value| + expect(page).to have_selector('.attributes-key-value--key', text: label_name.to_s) + + dl_element = page.find('.attributes-key-value--key', text: label_name.to_s).parent + + expect(dl_element).to have_selector('.attributes-key-value--value-container', text: value) + end + end + private def container From 7bf647281d88e68be47d11d87d85ce1c51457d8a Mon Sep 17 00:00:00 2001 From: Jens Ulferts Date: Wed, 4 Nov 2015 13:49:22 +0100 Subject: [PATCH 2/2] remove no longer used constant --- frontend/app/work_packages/services/index.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/frontend/app/work_packages/services/index.js b/frontend/app/work_packages/services/index.js index 97b2a4da95..e365279eb4 100644 --- a/frontend/app/work_packages/services/index.js +++ b/frontend/app/work_packages/services/index.js @@ -53,9 +53,6 @@ angular.module('openproject.workPackages.services') ]) .factory('WorkPackageFieldConfigurationService', require('./work-package-field-configuration-service')) - .constant('WORK_PACKAGE_REGULAR_EDITABLE_FIELD', [ - 'assignee', 'responsible', 'status', 'version', 'priority' - ]) .service('WorkPackagesOverviewService', [ 'WORK_PACKAGE_ATTRIBUTES', require('./work-packages-overview-service')