diff --git a/app/models/budget/investment.rb b/app/models/budget/investment.rb index a040e48e9..97c187966 100644 --- a/app/models/budget/investment.rb +++ b/app/models/budget/investment.rb @@ -349,6 +349,10 @@ class Budget self.valuator_groups.collect(&:name).compact.join(', ').presence end + def valuation_tag_list + tag_list_on(:valuation) + end + def valuation_tag_list=(tags) set_tag_list_on(:valuation, tags) end diff --git a/app/views/admin/budget_investments/edit.html.erb b/app/views/admin/budget_investments/edit.html.erb index fc56f88df..5c98f633b 100644 --- a/app/views/admin/budget_investments/edit.html.erb +++ b/app/views/admin/budget_investments/edit.html.erb @@ -57,7 +57,7 @@ <% end %> <%= f.text_field :valuation_tag_list, - value: @investment.tag_list_on(:valuation).sort.join(','), + value: @investment.valuation_tag_list.sort.join(','), label: false, placeholder: t("admin.budget_investments.edit.tags_placeholder"), class: 'js-tag-list' %> diff --git a/spec/models/budget/investment_spec.rb b/spec/models/budget/investment_spec.rb index c012ff5ca..7c2b0a980 100644 --- a/spec/models/budget/investment_spec.rb +++ b/spec/models/budget/investment_spec.rb @@ -642,6 +642,14 @@ describe Budget::Investment do results = described_class.search("Latin") expect(results.first).to eq(investment) end + + it "gets and sets valuation tags through virtual attributes" do + investment = create(:budget_investment) + + investment.valuation_tag_list = %w[Code Test Refactor] + + expect(investment.valuation_tag_list).to match_array(%w[Code Test Refactor]) + end end end