diff --git a/app/controllers/budgets/investments_controller.rb b/app/controllers/budgets/investments_controller.rb
index f3e41f3ae..a876af8f6 100644
--- a/app/controllers/budgets/investments_controller.rb
+++ b/app/controllers/budgets/investments_controller.rb
@@ -132,8 +132,8 @@ module Budgets
end
def investment_params
- attributes = [:heading_id, :tag_list,
- :organization_name, :location, :terms_of_service, :skip_map,
+ attributes = [:heading_id, :tag_list, :organization_name, :location,
+ :terms_of_service, :skip_map, :sdg_related_list,
image_attributes: image_attributes,
documents_attributes: [:id, :title, :attachment, :cached_attachment, :user_id, :_destroy],
map_location_attributes: [:latitude, :longitude, :zoom]]
diff --git a/app/views/budgets/investments/_form.html.erb b/app/views/budgets/investments/_form.html.erb
index 3eff59f72..2156b9d60 100644
--- a/app/views/budgets/investments/_form.html.erb
+++ b/app/views/budgets/investments/_form.html.erb
@@ -86,6 +86,8 @@
data: { js_url: suggest_tags_path } %>
+ <%= render SDG::RelatedListSelectorComponent.new(f) %>
+
<% unless current_user.manager? %>
diff --git a/spec/system/budgets/investments_spec.rb b/spec/system/budgets/investments_spec.rb
index 8382b7f05..10a6f7a4b 100644
--- a/spec/system/budgets/investments_spec.rb
+++ b/spec/system/budgets/investments_spec.rb
@@ -1933,4 +1933,41 @@ describe "Budget Investments" do
end
end
end
+
+ describe "SDG related list" do
+ before do
+ Setting["feature.sdg"] = true
+ Setting["sdg.process.budgets"] = true
+ budget.update!(phase: "accepting")
+ end
+
+ scenario "create budget investment with sdg related list", :js do
+ login_as(author)
+ visit new_budget_investment_path(budget)
+ select heading.name, from: "Heading"
+ fill_in "Title", with: "A title for a budget investment related with SDG related content"
+ fill_in_ckeditor "Description", with: "I want to live in a high tower over the clouds"
+ click_sdg_goal(1)
+ check "budget_investment_terms_of_service"
+
+ click_button "Create Investment"
+
+ within(".sdg-goal-tag-list") { expect(page).to have_link "1. No Poverty" }
+ end
+
+ scenario "edit budget investment with sdg related list", :js do
+ investment = create(:budget_investment, heading: heading, author: author)
+ investment.sdg_goals = [SDG::Goal[1], SDG::Goal[2]]
+ login_as(author)
+ visit edit_budget_investment_path(budget, investment)
+
+ remove_sdg_goal_or_target_tag(1)
+ click_button "Update Investment"
+
+ within(".sdg-goal-tag-list") do
+ expect(page).not_to have_link "1. No Poverty"
+ expect(page).to have_link "2. Zero Hunger"
+ end
+ end
+ end
end