diff --git a/app/views/admin/budgets/_form.html.erb b/app/views/admin/budgets/_form.html.erb index d3cc652e6..4702a7ae2 100644 --- a/app/views/admin/budgets/_form.html.erb +++ b/app/views/admin/budgets/_form.html.erb @@ -88,7 +88,9 @@ <% end %> - <%= render "admin/shared/show_results_fields", form: f %> + <% if @budget.persisted? %> + <%= render "admin/shared/show_results_fields", form: f %> + <% end %>
diff --git a/spec/system/admin/budgets_spec.rb b/spec/system/admin/budgets_spec.rb index b7a9d90fe..ad0bfe854 100644 --- a/spec/system/admin/budgets_spec.rb +++ b/spec/system/admin/budgets_spec.rb @@ -144,6 +144,15 @@ describe "Admin budgets", :admin do expect(page).to have_css(".is-invalid-label", text: "Name") expect(page).to have_css("small.form-error", text: "has already been taken") end + + scenario "Do not show results and stats settings on new budget", :js do + visit new_admin_budget_path + + expect(page).not_to have_content "Show results and stats" + expect(page).not_to have_field "Show results" + expect(page).not_to have_field "Show stats" + expect(page).not_to have_field "Show advanced stats" + end end context "Destroy" do @@ -216,6 +225,16 @@ describe "Admin budgets", :admin do end end + scenario "Show results and stats settings", :js do + visit edit_admin_budget_path(budget) + + within_fieldset "Show results and stats" do + expect(page).to have_field "Show results" + expect(page).to have_field "Show stats" + expect(page).to have_field "Show advanced stats" + end + end + scenario "Changing name for current locale will update the slug if budget is in draft phase", :js do budget.update!(phase: "drafting") old_slug = budget.slug