@ -22,94 +22,108 @@ RSpec.describe "Bulk upload lettings log" do
# rubocop:disable RSpec/AnyInstance
context " when during crossover period " do
before do
allow ( FeatureToggle ) . to receive ( :force_crossover? ) . and_return ( true )
Timecop . freeze ( 2023 , 6 , 1 )
end
after do
Timecop . return
end
it " shows journey with year option " do
Timecop . freeze ( 2023 , 6 , 1 ) do
visit ( " /lettings-logs " )
expect ( page ) . to have_link ( " Upload lettings logs in bulk " )
click_link ( " Upload lettings logs in bulk " )
visit ( " /lettings-logs " )
expect ( page ) . to have_link ( " Upload lettings logs in bulk " )
click_link ( " Upload lettings logs in bulk " )
expect ( page ) . to have_content ( " Which year " )
click_button ( " Continue " )
expect ( page ) . to have_content ( " Which year " )
click_button ( " Continue " )
expect ( page ) . to have_content ( " You must select a collection period to upload for " )
choose ( " 2023/2024 " )
click_button ( " Continue " )
expect ( page ) . to have_content ( " You must select a collection period to upload for " )
choose ( " 2023/2024 " )
click_button ( " Continue " )
click_link ( " Back " )
click_link ( " Back " )
expect ( page . find_field ( " form-year-2023-field " ) ) . to be_checked
click_button ( " Continue " )
expect ( page . find_field ( " form-year-2023-field " ) ) . to be_checked
click_button ( " Continue " )
expect ( page ) . to have_content ( " Upload lettings logs in bulk (2023/24) " )
click_button ( " Continue " )
expect ( page ) . to have_content ( " Upload lettings logs in bulk (2023/24) " )
click_button ( " Continue " )
expect ( page ) . not_to have_content ( " What is the needs type? " )
expect ( page ) . not_to have_content ( " What is the needs type? " )
expect ( page ) . to have_content ( " Upload lettings logs in bulk (2023/24) " )
expect ( page ) . to have_content ( " Upload your file " )
click_button ( " Upload " )
expect ( page ) . to have_content ( " Upload lettings logs in bulk (2023/24) " )
expect ( page ) . to have_content ( " Upload your file " )
click_button ( " Upload " )
allow_any_instance_of ( Forms :: BulkUploadLettings :: UploadYourFile ) . to receive ( :` ) . and_return ( " not a csv " )
allow_any_instance_of ( Forms :: BulkUploadLettings :: UploadYourFile ) . to receive ( :` ) . and_return ( " not a csv " )
expect ( page ) . to have_content ( " Select which file to upload " )
attach_file " file " , file_fixture ( " 2023_24_lettings_bulk_upload.xlsx " )
click_button ( " Upload " )
expect ( page ) . to have_content ( " Select which file to upload " )
attach_file " file " , file_fixture ( " 2023_24_lettings_bulk_upload.xlsx " )
click_button ( " Upload " )
allow_any_instance_of ( Forms :: BulkUploadLettings :: UploadYourFile ) . to receive ( :` ) . and_return ( " text/csv " )
allow_any_instance_of ( Forms :: BulkUploadLettings :: UploadYourFile ) . to receive ( :` ) . and_return ( " text/csv " )
expect ( page ) . to have_content ( " Your file must be in CSV format " )
attach_file " file " , file_fixture ( " blank_bulk_upload_sales.csv " )
expect {
click_button ( " Upload " )
} . to change ( BulkUpload , :count ) . by ( 1 )
expect ( page ) . to have_content ( " Your file must be in CSV format " )
attach_file " file " , file_fixture ( " blank_bulk_upload_sales.csv " )
expect {
click_button ( " Upload " )
} . to change ( BulkUpload , :count ) . by ( 1 )
expect ( page ) . to have_content ( " Once this is done " )
click_link ( " Back " )
expect ( page ) . to have_content ( " Once this is done " )
click_link ( " Back " )
expect ( page ) . to have_content ( " Upload lettings logs in bulk " )
end
expect ( page ) . to have_content ( " Upload lettings logs in bulk " )
end
end
# rubocop:enable RSpec/AnyInstance
context " when not it crossover period " do
before do
Timecop . freeze ( 2024 , 1 , 1 )
end
after do
Timecop . return
end
it " shows journey with year option " do
Timecop . freeze ( 2024 , 1 , 1 ) do
visit ( " /lettings-logs " )
expect ( page ) . to have_link ( " Upload lettings logs in bulk " )
click_link ( " Upload lettings logs in bulk " )
visit ( " /lettings-logs " )
expect ( page ) . to have_link ( " Upload lettings logs in bulk " )
click_link ( " Upload lettings logs in bulk " )
expect ( page ) . to have_content ( " Upload lettings logs in bulk (2023/24) " )
click_button ( " Continue " )
expect ( page ) . to have_content ( " Upload lettings logs in bulk (2023/24) " )
click_button ( " Continue " )
expect ( page ) . to have_content ( " Upload your file " )
end
expect ( page ) . to have_content ( " Upload your file " )
end
end
context " when the collection year isn't 22/23 " do
before do
Timecop . freeze ( 2024 , 1 , 1 )
end
after do
Timecop . return
end
it " shows journey without the needstype " do
Timecop . freeze ( 2024 , 1 , 1 ) do
visit ( " /lettings-logs " )
expect ( page ) . to have_link ( " Upload lettings logs in bulk " )
click_link ( " Upload lettings logs in bulk " )
visit ( " /lettings-logs " )
expect ( page ) . to have_link ( " Upload lettings logs in bulk " )
click_link ( " Upload lettings logs in bulk " )
expect ( page ) . to have_content ( " Prepare your file " )
click_button ( " Continue " )
expect ( page ) . to have_content ( " Prepare your file " )
click_button ( " Continue " )
click_link ( " Back " )
click_link ( " Back " )
expect ( page ) . to have_content ( " Prepare your file " )
click_button ( " Continue " )
expect ( page ) . to have_content ( " Prepare your file " )
click_button ( " Continue " )
expect ( page ) . to have_content ( " Upload lettings logs in bulk (2023/24) " )
expect ( page ) . to have_content ( " Upload lettings logs in bulk (2023/24) " )
expect ( page ) . to have_content ( " Upload your file " )
click_button ( " Upload " )
end
expect ( page ) . to have_content ( " Upload your file " )
click_button ( " Upload " )
end
end
end