Browse Source

write feature tests to check that breadcrumbs have the correct links

pull/1427/head
Arthur Campbell 3 years ago
parent
commit
1c20b62c96
  1. 26
      spec/features/lettings_log_spec.rb
  2. 48
      spec/features/sales_log_spec.rb

26
spec/features/lettings_log_spec.rb

@ -94,6 +94,32 @@ RSpec.describe "Lettings Log Features" do
end end
end end
context "when visiting a subsection check answers page" do
let(:lettings_log) { FactoryBot.create(:lettings_log, :about_completed) }
it "has the correct breadcrumbs with the correct links" do
visit lettings_log_setup_check_answers_path(lettings_log.id)
breadcrumbs = page.find_all(".govuk-breadcrumbs__link")
expect(breadcrumbs.first.text).to eq "Logs"
expect(breadcrumbs.first[:href]).to eq lettings_logs_path
expect(breadcrumbs[1].text).to eq "Log #{lettings_log.id}"
expect(breadcrumbs[1][:href]).to eq lettings_log_path(lettings_log.id)
end
end
context "when reviewing a complete log" do
let(:lettings_log) { FactoryBot.create(:lettings_log, :completed) }
it "has the correct breadcrumbs with the correct links" do
visit review_lettings_log_path(lettings_log.id)
breadcrumbs = page.find_all(".govuk-breadcrumbs__link")
expect(breadcrumbs.first.text).to eq "Logs"
expect(breadcrumbs.first[:href]).to eq lettings_logs_path
expect(breadcrumbs[1].text).to eq "Log #{lettings_log.id}"
expect(breadcrumbs[1][:href]).to eq lettings_log_path(lettings_log.id)
end
end
context "when the owning organisation question isn't answered" do context "when the owning organisation question isn't answered" do
it "doesn't show the managing agent question" do it "doesn't show the managing agent question" do
visit("/lettings-logs") visit("/lettings-logs")

48
spec/features/sales_log_spec.rb

@ -28,7 +28,7 @@ RSpec.describe "Sales Log Features" do
click_link("Logs") click_link("Logs")
end end
it "navigates you to the lettings logs page" do it "navigates you to the sales logs page" do
expect(page).to have_current_path("/sales-logs") expect(page).to have_current_path("/sales-logs")
end end
end end
@ -65,4 +65,50 @@ RSpec.describe "Sales Log Features" do
end end
end end
end end
context "when signed in as a support user" do
let(:devise_notify_mailer) { DeviseNotifyMailer.new }
let(:notify_client) { instance_double(Notifications::Client) }
let(:otp) { "999111" }
let(:organisation) { FactoryBot.create(:organisation, name: "Big ORG") }
let(:user) { FactoryBot.create(:user, :support, last_sign_in_at: Time.zone.now, organisation:) }
let(:sales_log) { FactoryBot.create(:sales_log, :completed) }
before do
allow(DeviseNotifyMailer).to receive(:new).and_return(devise_notify_mailer)
allow(devise_notify_mailer).to receive(:notify_client).and_return(notify_client)
allow(notify_client).to receive(:send_email).and_return(true)
allow(SecureRandom).to receive(:random_number).and_return(otp)
visit("/sales-logs")
fill_in("user[email]", with: user.email)
fill_in("user[password]", with: user.password)
click_button("Sign in")
fill_in("code", with: otp)
click_button("Submit")
end
context "when visiting a subsection check answers page as a support user" do
it "has the correct breadcrumbs with the correct links" do
visit sales_log_setup_check_answers_path(sales_log.id)
breadcrumbs = page.find_all(".govuk-breadcrumbs__link")
expect(breadcrumbs.first.text).to eq "Logs"
expect(breadcrumbs.first[:href]).to eq sales_logs_path
expect(breadcrumbs[1].text).to eq "Log #{sales_log.id}"
expect(breadcrumbs[1][:href]).to eq sales_log_path(sales_log.id)
end
end
context "when reviewing a complete log" do
it "has the correct breadcrumbs with the correct links" do
visit review_sales_log_path(sales_log.id, sales_log: true)
breadcrumbs = page.find_all(".govuk-breadcrumbs__link")
expect(breadcrumbs.first.text).to eq "Logs"
expect(breadcrumbs.first[:href]).to eq sales_logs_path
expect(breadcrumbs[1].text).to eq "Log #{sales_log.id}"
expect(breadcrumbs[1][:href]).to eq sales_log_path(sales_log.id)
end
end
end
end end

Loading…
Cancel
Save