Browse Source

Fix request tests

pull/2407/head
Kat 2 years ago
parent
commit
df732ba3f2
  1. 32
      spec/requests/lettings_logs_controller_spec.rb
  2. 32
      spec/requests/sales_logs_controller_spec.rb

32
spec/requests/lettings_logs_controller_spec.rb

@ -1892,42 +1892,42 @@ RSpec.describe LettingsLogsController, type: :request do
it "creates an E-mail job" do it "creates an E-mail job" do
expect { expect {
post "/lettings-logs/email-csv?codes_only=true", headers:, params: {} post "/lettings-logs/email-csv?years[]=2023&codes_only=true", headers:, params: {}
}.to enqueue_job(EmailCsvJob).with(user, nil, {}, false, nil, true) }.to enqueue_job(EmailCsvJob).with(user, nil, { "years" => %w[2023] }, false, nil, true, 2023)
end end
it "redirects to the confirmation page" do it "redirects to the confirmation page" do
post "/lettings-logs/email-csv?codes_only=true", headers:, params: {} post "/lettings-logs/email-csv?years[]=2023&codes_only=true", headers:, params: {}
expect(response).to redirect_to(csv_confirmation_lettings_logs_path) expect(response).to redirect_to(csv_confirmation_lettings_logs_path)
end end
it "passes the search term" do it "passes the search term" do
expect { expect {
post "/lettings-logs/email-csv?search=#{lettings_log.id}&codes_only=false", headers:, params: {} post "/lettings-logs/email-csv?years[]=2023&search=#{lettings_log.id}&codes_only=false", headers:, params: {}
}.to enqueue_job(EmailCsvJob).with(user, lettings_log.id.to_s, {}, false, nil, false) }.to enqueue_job(EmailCsvJob).with(user, lettings_log.id.to_s, { "years" => %w[2023] }, false, nil, false, 2023)
end end
it "passes filter parameters" do it "passes filter parameters" do
expect { expect {
post "/lettings-logs/email-csv?status[]=completed&codes_only=true", headers:, params: {} post "/lettings-logs/email-csv?years[]=2023&status[]=completed&codes_only=true", headers:, params: {}
}.to enqueue_job(EmailCsvJob).with(user, nil, { "status" => %w[completed] }, false, nil, true) }.to enqueue_job(EmailCsvJob).with(user, nil, { "status" => %w[completed], "years" => %w[2023] }, false, nil, true, 2023)
end end
it "passes export type flag" do it "passes export type flag" do
expect { expect {
post "/lettings-logs/email-csv?codes_only=true", headers:, params: {} post "/lettings-logs/email-csv?years[]=2023&codes_only=true", headers:, params: {}
}.to enqueue_job(EmailCsvJob).with(user, nil, {}, false, nil, true) }.to enqueue_job(EmailCsvJob).with(user, nil, { "years" => %w[2023] }, false, nil, true, 2023)
expect { expect {
post "/lettings-logs/email-csv?codes_only=false", headers:, params: {} post "/lettings-logs/email-csv?years[]=2023&codes_only=false", headers:, params: {}
}.to enqueue_job(EmailCsvJob).with(user, nil, {}, false, nil, false) }.to enqueue_job(EmailCsvJob).with(user, nil, { "years" => %w[2023] }, false, nil, false, 2023)
end end
it "passes a combination of search term, export type and filter parameters" do it "passes a combination of search term, export type and filter parameters" do
postcode = "XX1 1TG" postcode = "XX1 1TG"
expect { expect {
post "/lettings-logs/email-csv?status[]=completed&search=#{postcode}&codes_only=false", headers:, params: {} post "/lettings-logs/email-csv?years[]=2023&status[]=completed&search=#{postcode}&codes_only=false", headers:, params: {}
}.to enqueue_job(EmailCsvJob).with(user, postcode, { "status" => %w[completed] }, false, nil, false) }.to enqueue_job(EmailCsvJob).with(user, postcode, { "status" => %w[completed], "years" => %w[2023] }, false, nil, false, 2023)
end end
context "when the user is not a support user" do context "when the user is not a support user" do
@ -1936,13 +1936,13 @@ RSpec.describe LettingsLogsController, type: :request do
it "has permission to download human readable csv" do it "has permission to download human readable csv" do
codes_only_export = false codes_only_export = false
expect { expect {
post "/lettings-logs/email-csv?codes_only=#{codes_only_export}", headers:, params: {} post "/lettings-logs/email-csv?years[]=2023&codes_only=#{codes_only_export}", headers:, params: {}
}.to enqueue_job(EmailCsvJob).with(user, nil, {}, false, nil, false) }.to enqueue_job(EmailCsvJob).with(user, nil, { "years" => %w[2023] }, false, nil, false, 2023)
end end
it "is not authorized to download codes only csv" do it "is not authorized to download codes only csv" do
codes_only_export = true codes_only_export = true
post "/lettings-logs/email-csv?codes_only=#{codes_only_export}", headers:, params: {} post "/lettings-logs/email-csv?years[]=2023&codes_only=#{codes_only_export}", headers:, params: {}
expect(response).to have_http_status(:unauthorized) expect(response).to have_http_status(:unauthorized)
end end
end end

32
spec/requests/sales_logs_controller_spec.rb

@ -1100,42 +1100,42 @@ RSpec.describe SalesLogsController, type: :request do
it "creates an E-mail job with the correct log type" do it "creates an E-mail job with the correct log type" do
expect { expect {
post "/sales-logs/email-csv?codes_only=true", headers:, params: {} post "/sales-logs/email-csv?years[]=2023&codes_only=true", headers:, params: {}
}.to enqueue_job(EmailCsvJob).with(user, nil, {}, false, nil, true, "sales") }.to enqueue_job(EmailCsvJob).with(user, nil, { "years" => %w[2023] }, false, nil, true, "sales", 2023)
end end
it "redirects to the confirmation page" do it "redirects to the confirmation page" do
post "/sales-logs/email-csv?codes_only=true", headers:, params: {} post "/sales-logs/email-csv?years[]=2023&codes_only=true", headers:, params: {}
expect(response).to redirect_to(csv_confirmation_sales_logs_path) expect(response).to redirect_to(csv_confirmation_sales_logs_path)
end end
it "passes the search term" do it "passes the search term" do
expect { expect {
post "/sales-logs/email-csv?search=#{sales_log.id}&codes_only=false", headers:, params: {} post "/sales-logs/email-csv?search=#{sales_log.id}&years[]=2023&codes_only=false", headers:, params: {}
}.to enqueue_job(EmailCsvJob).with(user, sales_log.id.to_s, {}, false, nil, false, "sales") }.to enqueue_job(EmailCsvJob).with(user, sales_log.id.to_s, { "years" => %w[2023] }, false, nil, false, "sales", 2023)
end end
it "passes filter parameters" do it "passes filter parameters" do
expect { expect {
post "/sales-logs/email-csv?status[]=completed&codes_only=true", headers:, params: {} post "/sales-logs/email-csv?years[]=2023&status[]=completed&codes_only=true", headers:, params: {}
}.to enqueue_job(EmailCsvJob).with(user, nil, { "status" => %w[completed] }, false, nil, true, "sales") }.to enqueue_job(EmailCsvJob).with(user, nil, { "status" => %w[completed], "years" => %w[2023] }, false, nil, true, "sales", 2023)
end end
it "passes export type flag" do it "passes export type flag" do
expect { expect {
post "/sales-logs/email-csv?codes_only=true", headers:, params: {} post "/sales-logs/email-csv?years[]=2023&codes_only=true", headers:, params: {}
}.to enqueue_job(EmailCsvJob).with(user, nil, {}, false, nil, true, "sales") }.to enqueue_job(EmailCsvJob).with(user, nil, { "years" => %w[2023] }, false, nil, true, "sales", 2023)
expect { expect {
post "/sales-logs/email-csv?codes_only=false", headers:, params: {} post "/sales-logs/email-csv?years[]=2023&codes_only=false", headers:, params: {}
}.to enqueue_job(EmailCsvJob).with(user, nil, {}, false, nil, false, "sales") }.to enqueue_job(EmailCsvJob).with(user, nil, { "years" => %w[2023] }, false, nil, false, "sales", 2023)
end end
it "passes a combination of search term, export type and filter parameters" do it "passes a combination of search term, export type and filter parameters" do
postcode = "XX1 1TG" postcode = "XX1 1TG"
expect { expect {
post "/sales-logs/email-csv?status[]=completed&search=#{postcode}&codes_only=false", headers:, params: {} post "/sales-logs/email-csv?years[]=2023&status[]=completed&search=#{postcode}&codes_only=false", headers:, params: {}
}.to enqueue_job(EmailCsvJob).with(user, postcode, { "status" => %w[completed] }, false, nil, false, "sales") }.to enqueue_job(EmailCsvJob).with(user, postcode, { "status" => %w[completed], "years" => %w[2023] }, false, nil, false, "sales", 2023)
end end
context "when the user is not a support user" do context "when the user is not a support user" do
@ -1144,13 +1144,13 @@ RSpec.describe SalesLogsController, type: :request do
it "has permission to download human readable csv" do it "has permission to download human readable csv" do
codes_only_export = false codes_only_export = false
expect { expect {
post "/sales-logs/email-csv?codes_only=#{codes_only_export}", headers:, params: {} post "/sales-logs/email-csv?years[]=2023&codes_only=#{codes_only_export}", headers:, params: {}
}.to enqueue_job(EmailCsvJob).with(user, nil, {}, false, nil, false, "sales") }.to enqueue_job(EmailCsvJob).with(user, nil, { "years" => %w[2023] }, false, nil, false, "sales", 2023)
end end
it "is not authorized to download codes only csv" do it "is not authorized to download codes only csv" do
codes_only_export = true codes_only_export = true
post "/sales-logs/email-csv?codes_only=#{codes_only_export}", headers:, params: {} post "/sales-logs/email-csv?years[]=2023&codes_only=#{codes_only_export}", headers:, params: {}
expect(response).to have_http_status(:unauthorized) expect(response).to have_http_status(:unauthorized)
end end
end end

Loading…
Cancel
Save