Query: remove done_ratio from available columns if disabled

pull/423/head
Michael Frister 11 years ago
parent 02dc2ecc03
commit a12bbb2fa1
  1. 4
      app/models/query.rb
  2. 46
      features/work_packages/index_disabled_done_ratio.feature
  3. 33
      spec/models/query_spec.rb

@ -244,6 +244,10 @@ class Query < ActiveRecord::Base
project.all_work_package_custom_fields :
WorkPackageCustomField.find(:all)
).collect {|cf| ::QueryCustomFieldColumn.new(cf) }
if Setting.issue_done_ratio == 'disabled'
@available_columns.select! {|column| column.name != :done_ratio }.length
end
@available_columns
end
def self.available_columns=(v)

@ -0,0 +1,46 @@
#-- 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: Disabled done ratio on the work package index
Background:
Given there is 1 project with the following:
| identifier | project1 |
| name | project1 |
And the project "project1" has the following types:
| name | position |
| Bug | 1 |
And the project "project1" has 4 issues with the following:
| subject | Issuesubject |
And I am already admin
@javascript
Scenario: Column should be available when done ratio is enabled
When I go to the work packages index page of the project "project1"
And I click "Options"
Then I should see "% done" within "#available_columns"
@javascript
Scenario: Column should not be available when done ratio is disabled
Given the "issue_done_ratio" setting is set to disabled
When I go to the work packages index page of the project "project1"
And I click "Options"
Then I should not see "% done" within "#available_columns"
@javascript
Scenario: Column is selected and done ratio is disabled afterwards
When I go to the work packages index page of the project "project1"
And I select to see columns
| % done |
Then I should see "% done" within ".list"
Given the "issue_done_ratio" setting is set to disabled
When I go to the work packages index page of the project "project1"
Then I should not see "% done" within ".list"

@ -0,0 +1,33 @@
#-- 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.
#++
require 'spec_helper'
describe Query do
describe 'available_columns'
let(:query) { FactoryGirl.build(:query) }
context 'with issue_done_ratio NOT disabled' do
it 'should include the done_ratio column' do
query.available_columns.find {|column| column.name == :done_ratio}.should be_true
end
end
context 'with issue_done_ratio disabled' do
before do
Setting.stub(:issue_done_ratio).and_return('disabled')
end
it 'should NOT include the done_ratio column' do
query.available_columns.find {|column| column.name == :done_ratio}.should be_nil
end
end
end
Loading…
Cancel
Save