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
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
it "doesn't show the managing agent question" do
visit("/lettings-logs")

48
spec/features/sales_log_spec.rb

@ -28,7 +28,7 @@ RSpec.describe "Sales Log Features" do
click_link("Logs")
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")
end
end
@ -65,4 +65,50 @@ RSpec.describe "Sales Log Features" do
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

Loading…
Cancel
Save