diff --git a/app/views/custom_fields/_form.html.erb b/app/views/custom_fields/_form.html.erb index 4f9021058502..1d4e2872f301 100644 --- a/app/views/custom_fields/_form.html.erb +++ b/app/views/custom_fields/_form.html.erb @@ -60,20 +60,20 @@ See docs/COPYRIGHT.rdoc for more details. - <% if @custom_field.new_record? || @custom_field.multi_value_possible? %> -
<%= I18n.t("activerecord.attributes.custom_field.possible_values") %> diff --git a/spec/features/admin/custom_fields/list_custom_field_spec.rb b/spec/features/admin/custom_fields/list_custom_field_spec.rb new file mode 100644 index 000000000000..2f06f2e5c475 --- /dev/null +++ b/spec/features/admin/custom_fields/list_custom_field_spec.rb @@ -0,0 +1,71 @@ +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2021 the OpenProject GmbH +# +# 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 docs/COPYRIGHT.rdoc for more details. +#++ + +require 'spec_helper' + +describe 'List custom fields edit', type: :feature, js: true do + shared_let(:admin) { FactoryBot.create :admin } + + before do + login_as(admin) + visit custom_fields_path(tab: :TimeEntryCustomField) + end + + it 'can create and edit list custom fields (#37654)' do + # Create CF + click_on 'Create a new custom field' + + SeleniumHubWaiter.wait + fill_in 'custom_field_name', with: 'My List CF' + select 'List', from: 'custom_field_field_format' + + expect(page).to have_selector('input#custom_field_custom_options_attributes_0_value') + fill_in 'custom_field_custom_options_attributes_0_value', with: 'A' + + click_on 'Save' + + # Expect correct values + cf = CustomField.last + expect(cf.name).to eq('My List CF') + expect(cf.possible_values.map(&:value)).to eq %w(A) + + # Edit again + SeleniumHubWaiter.wait + page.find('a', text: 'My List CF').click + + expect(page).to have_selector('input#custom_field_custom_options_attributes_0_value') + fill_in 'custom_field_custom_options_attributes_0_value', with: 'B' + + click_on 'Save' + + # Expect correct values again + cf = CustomField.last + expect(cf.name).to eq('My List CF') + expect(cf.possible_values.map(&:value)).to eq %w(B) + end +end