Browse Source

Refactor guidance links into a helper

pull/2551/head
Kat 2 years ago
parent
commit
dd7b4d0771
  1. 11
      app/helpers/guidance_helper.rb
  2. 16
      app/views/form/guidance/_financial_calculations_shared_ownership.html.erb
  3. 21
      spec/helpers/guidance_helper_spec.rb

11
app/helpers/guidance_helper.rb

@ -0,0 +1,11 @@
module GuidanceHelper
include GovukLinkHelper
include GovukVisuallyHiddenHelper
def question_link(question_id, log, user)
question = log.form.get_question(question_id, log)
return "" unless question.page.routed_to?(log, user)
"(#{govuk_link_to "Q#{question.question_number}", send("#{log.class.name.underscore}_#{question.page.id}_path", log)})".html_safe
end
end

16
app/views/form/guidance/_financial_calculations_shared_ownership.html.erb

@ -1,10 +1,16 @@
<%= govuk_details(summary_text: "How the financial values are calculated") do %> <%= govuk_details(summary_text: "How the financial values are calculated") do %>
<p class="govuk-body"> <p class="govuk-body">
The mortgage amount (<%= govuk_link_to "Q92", send("#{log.class.name.underscore}_#{log.form.get_question('mortgage', log).page.id}_path", log) %>), The mortgage amount <%= question_link("mortgage", log, current_user) %>,
cash deposit (<%= govuk_link_to "Q95", send("#{log.class.name.underscore}_#{log.form.get_question('deposit', log).page.id}_path", log) %>) cash deposit <%= question_link("deposit", log, current_user) %>,
and cash discount (<%= govuk_link_to "Q97", send("#{log.class.name.underscore}_#{log.form.get_question('cashdis', log).page.id}_path", log) %>) and cash discount <%= question_link("cashdis", log, current_user) %>
added together must equal added together must equal
the purchase price (<%= govuk_link_to "Q88", send("#{log.class.name.underscore}_#{log.form.get_question('value', log).page.id}_path", log) %>) the purchase price <%= question_link("value", log, current_user) %>
multiplied by the percentage equity stake (<%= govuk_link_to "Q89", send("#{log.class.name.underscore}_#{log.form.get_question('equity', log).page.id}_path", log) %>) <% stairbought_page = log.form.get_question('stairbought', log).page %>
<% equity_page = log.form.get_question('equity', log).page %>
<% if stairbought_page.routed_to?(log, current_user) %>
multiplied by the percentage bought <%= question_link("stairbought", log, current_user) %>
<% else %>
multiplied by the percentage equity stake <%= question_link("equity", log, current_user) %>
<% end %>
</p> </p>
<% end %> <% end %>

21
spec/helpers/guidance_helper_spec.rb

@ -0,0 +1,21 @@
require "rails_helper"
RSpec.describe GuidanceHelper do
describe "#question_link" do
context "when question page is routed to" do
let(:log) { create(:sales_log, :shared_ownership_setup_complete, mortgageused: 2) }
it "returns an empty string if question is not routed to" do
expect(question_link("mortgage", log, log.assigned_to)).to eq("")
end
end
context "when question page is not routed to" do
let(:log) { create(:sales_log, :shared_ownership_setup_complete, mortgageused: 1) }
it "returns a link to the question with correct question number in brakets" do
expect(question_link("mortgage", log, log.assigned_to)).to eq("(<a class=\"govuk-link\" href=\"/sales-logs/#{log.id}/mortgage-amount-shared-ownership\">Q92</a>)")
end
end
end
end
Loading…
Cancel
Save