Merge pull request #1749 from consul/budget-results-meta
Budget results meta tags
This commit is contained in:
@@ -1,22 +1,31 @@
|
||||
module Budgets
|
||||
class ResultsController < ApplicationController
|
||||
before_action :load_budget
|
||||
before_action :load_heading
|
||||
|
||||
load_and_authorize_resource :budget
|
||||
|
||||
def show
|
||||
authorize! :read_results, @budget
|
||||
@investments = load_result.investments
|
||||
@heading = heading
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def load_result
|
||||
Budget::Result.new(@budget, heading)
|
||||
Budget::Result.new(@budget, @heading)
|
||||
end
|
||||
|
||||
def heading
|
||||
@budget.headings.find(params[:heading_id])
|
||||
def load_budget
|
||||
@budget = Budget.find_by(id: params[:budget_id])
|
||||
end
|
||||
|
||||
def load_heading
|
||||
if params[:heading_id].present?
|
||||
@heading = @budget.headings.find(params[:heading_id])
|
||||
else
|
||||
@heading = @budget.headings.first
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
<% provide :title, t("budgets.results.page_title", budget: @budget.name) %>
|
||||
<% content_for :meta_description do %><%= @budget.description_finished %><% end %>
|
||||
<% provide :social_media_meta_tags do %>
|
||||
<%= render "shared/social_media_meta_tags",
|
||||
social_url: budget_results_url(@budget),
|
||||
social_title: @budget.name,
|
||||
social_description: @budget.description_finished %>
|
||||
<% end %>
|
||||
<% content_for :canonical do %>
|
||||
<%= render "shared/canonical", href: budget_results_url(@budget, heading_id: @heading) %>
|
||||
<%= render "shared/canonical", href: budget_results_url(@budget) %>
|
||||
<% end %>
|
||||
|
||||
<div class="expanded budget no-margin-top">
|
||||
|
||||
@@ -46,6 +46,18 @@ feature 'Results' do
|
||||
end
|
||||
end
|
||||
|
||||
scenario "Load first budget heading if not specified" do
|
||||
other_heading = create(:budget_heading, group: group)
|
||||
other_investment = create(:budget_investment, :winner, heading: other_heading)
|
||||
|
||||
visit budget_results_path(budget)
|
||||
|
||||
within("#budget-investments-compatible") do
|
||||
expect(page).to have_content investment1.title
|
||||
expect(page).to_not have_content other_investment.title
|
||||
end
|
||||
end
|
||||
|
||||
scenario "If budget is in a phase different from finished results can't be accessed" do
|
||||
budget.update phase: (Budget::PHASES - ["finished"]).sample
|
||||
visit budget_path(budget)
|
||||
|
||||
Reference in New Issue
Block a user