Browse Source

feat: remainder of test fixes

pull/1689/head
natdeanlewissoftwire 2 years ago
parent
commit
776c5c2d70
  1. 8
      spec/features/sales_log_spec.rb
  2. 6
      spec/models/sales_log_spec.rb
  3. 34
      spec/requests/sales_logs_controller_spec.rb
  4. 7
      spec/services/bulk_upload/lettings/validator_spec.rb
  5. 2
      spec/services/bulk_upload/lettings/year2023/row_parser_spec.rb
  6. 8
      spec/services/bulk_upload/sales/log_creator_spec.rb
  7. 10
      spec/services/bulk_upload/sales/year2022/row_parser_spec.rb
  8. 23
      spec/services/bulk_upload/sales/year2023/row_parser_spec.rb

8
spec/features/sales_log_spec.rb

@ -38,16 +38,16 @@ RSpec.describe "Sales Log Features" do
visit("/sales-logs")
click_button("Create a new sales log")
click_link("Set up this sales log")
fill_in("sales_log[saledate(1i)]", with: "2022")
fill_in("sales_log[saledate(2i)]", with: "08")
fill_in("sales_log[saledate(3i)]", with: "10")
fill_in("sales_log[saledate(1i)]", with: Time.zone.today.year)
fill_in("sales_log[saledate(2i)]", with: Time.zone.today.month)
fill_in("sales_log[saledate(3i)]", with: Time.zone.today.day)
click_button("Save and continue")
fill_in("sales_log[purchid]", with: "PC123")
click_button("Save and continue")
log_id = page.current_path.scan(/\d/).join
visit("sales-logs/#{log_id}/setup/check-answers")
expect(page).to have_content("Sale completion date")
expect(page).to have_content("2022")
expect(page).to have_content(Time.zone.today.year)
expect(page).to have_content("Purchaser code")
expect(page).to have_content("PC123")
end

6
spec/models/sales_log_spec.rb

@ -162,6 +162,12 @@ RSpec.describe SalesLog, type: :model do
describe "derived variables" do
let(:sales_log) { create(:sales_log, :completed) }
around do |example|
Timecop.freeze(Time.zone.local(2022, 7, 4)) do
example.run
end
Timecop.return
end
it "correctly derives and saves exday, exmonth and exyear" do
sales_log.update!(exdate: Time.gm(2022, 5, 4), saledate: Time.gm(2022, 7, 4), ownershipsch: 1, type: 18, staircase: 2, resale: 2, proplen: 0)

34
spec/requests/sales_logs_controller_spec.rb

@ -65,7 +65,7 @@ RSpec.describe SalesLogsController, type: :request do
context "with a request containing invalid json parameters" do
let(:params) do
{
"saledate": Date.new(2022, 4, 1),
"saledate": Time.zone.today,
"purchid": "1",
"ownershipsch": 1,
"type": 2,
@ -236,17 +236,35 @@ RSpec.describe SalesLogsController, type: :request do
end
context "with year filter" do
around do |example|
Timecop.freeze(2022, 12, 1) do
example.run
end
Timecop.return
end
before do
Timecop.freeze(2022, 4, 1)
sales_log_2022.update!(saledate: Time.zone.local(2022, 4, 1))
Timecop.freeze(2023, 1, 1)
sales_log_2022.update!(saledate: Time.zone.local(2023, 1, 1))
end
after do
Timecop.unfreeze
end
let!(:sales_log_2022) do
FactoryBot.create(:sales_log, :in_progress,
FactoryBot.create(:sales_log, :completed,
owning_organisation: organisation,
saledate: Time.zone.local(2022, 4, 1))
created_by: user,
saledate: Time.zone.today)
end
let!(:sales_log_2023) do
sales_log = FactoryBot.build(:sales_log, :completed,
owning_organisation: organisation,
saledate: Time.zone.local(2023, 1, 1))
sales_log.save!(validate: false)
sales_log
FactoryBot.create(:sales_log,
owning_organisation: organisation,
created_by: user,
saledate: Time.zone.today)
end
it "shows sales logs for multiple selected years" do

7
spec/services/bulk_upload/lettings/validator_spec.rb

@ -387,6 +387,13 @@ RSpec.describe BulkUpload::Lettings::Validator do
let(:log_1) { build(:lettings_log, :completed, renttype: 1, created_by: user) }
let(:log_2) { build(:lettings_log, :completed, renttype: 1, created_by: user) }
around do |example|
Timecop.freeze(Time.zone.local(2023, 2, 22)) do
example.run
end
Timecop.return
end
before do
file.write(BulkUpload::LettingsLogToCsv.new(log: log_1, line_ending: "\r\n", col_offset: 0).to_2022_csv_row)
file.write(BulkUpload::LettingsLogToCsv.new(log: log_2, line_ending: "\r\n", col_offset: 0).to_2022_csv_row)

2
spec/services/bulk_upload/lettings/year2023/row_parser_spec.rb

@ -6,7 +6,7 @@ RSpec.describe BulkUpload::Lettings::Year2023::RowParser do
let(:now) { Time.zone.now.beginning_of_day }
let(:attributes) { { bulk_upload: } }
let(:bulk_upload) { create(:bulk_upload, :lettings, user:, needstype: nil) }
let(:bulk_upload) { create(:bulk_upload, :lettings, user:, needstype: nil, year: 2023) }
let(:user) { create(:user, organisation: owning_org) }
let(:owning_org) { create(:organisation, :with_old_visible_id) }

8
spec/services/bulk_upload/sales/log_creator_spec.rb

@ -10,6 +10,14 @@ RSpec.describe BulkUpload::Sales::LogCreator do
let(:path) { file_fixture("completed_2022_23_sales_bulk_upload.csv") }
describe "#call" do
around do |example|
Timecop.freeze(Time.zone.local(2023, 2, 22)) do
Singleton.__init__(FormHandler)
example.run
end
Timecop.return
Singleton.__init__(FormHandler)
end
context "when a valid csv with new log" do
it "creates a new log" do
expect { service.call }.to change(SalesLog, :count)

10
spec/services/bulk_upload/sales/year2022/row_parser_spec.rb

@ -107,6 +107,16 @@ RSpec.describe BulkUpload::Sales::Year2022::RowParser do
}
end
around do |example|
Timecop.freeze(Time.zone.local(2023, 2, 22)) do
Singleton.__init__(FormHandler)
example.run
end
Timecop.return
Singleton.__init__(FormHandler)
end
describe "#blank_row?" do
context "when a new object" do
it "returns true" do

23
spec/services/bulk_upload/sales/year2023/row_parser_spec.rb

@ -6,11 +6,9 @@ RSpec.describe BulkUpload::Sales::Year2023::RowParser do
let(:now) { Time.zone.parse("01/03/2023") }
let(:attributes) { { bulk_upload: } }
let(:bulk_upload) { create(:bulk_upload, :sales, user:) }
let(:bulk_upload) { create(:bulk_upload, :sales, user:, year: 2023) }
let(:user) { create(:user, organisation: owning_org) }
let(:owning_org) { create(:organisation, :with_old_visible_id) }
let(:setup_section_params) do
{
bulk_upload:,
@ -26,7 +24,6 @@ RSpec.describe BulkUpload::Sales::Year2023::RowParser do
field_14: "2", # joint purchase
}
end
let(:valid_attributes) do
{
bulk_upload:,
@ -34,7 +31,7 @@ RSpec.describe BulkUpload::Sales::Year2023::RowParser do
field_1: owning_org.old_visible_id,
field_3: "22",
field_4: "2",
field_5: "23",
field_5: "24",
field_6: "test id",
field_7: "1",
field_8: "2",
@ -60,6 +57,8 @@ RSpec.describe BulkUpload::Sales::Year2023::RowParser do
field_37: "R",
field_38: "32",
field_39: "F",
field_40: "17",
field_41: "13",
field_43: "2",
field_44: "1",
field_45: "0",
@ -70,6 +69,7 @@ RSpec.describe BulkUpload::Sales::Year2023::RowParser do
field_66: "E09000008",
field_69: "1",
field_70: "1",
field_71: "3",
field_73: "3",
field_75: "5",
field_76: "3",
@ -85,11 +85,11 @@ RSpec.describe BulkUpload::Sales::Year2023::RowParser do
field_87: "1",
field_88: "10",
field_89: "10",
field_91: "2",
field_90: "1",
field_92: "30",
field_93: "3",
field_94: "22",
field_95: "23",
field_95: "24",
field_96: "3",
field_97: "22",
field_98: "3",
@ -110,6 +110,15 @@ RSpec.describe BulkUpload::Sales::Year2023::RowParser do
}
end
around do |example|
Timecop.freeze(Time.zone.local(2024, 2, 22)) do
Singleton.__init__(FormHandler)
example.run
end
Timecop.return
Singleton.__init__(FormHandler)
end
describe "#blank_row?" do
context "when a new object" do
it "returns true" do

Loading…
Cancel
Save