@ -4,13 +4,13 @@ RSpec.describe CollectionTimeHelper do
let ( :current_user ) { create ( :user , :data_coordinator ) }
let ( :current_user ) { create ( :user , :data_coordinator ) }
let ( :user ) { create ( :user , :data_coordinator ) }
let ( :user ) { create ( :user , :data_coordinator ) }
describe " Current collection start year " do
around do | example |
around do | example |
Timecop . freeze ( now ) do
Timecop . freeze ( now ) do
example . run
example . run
end
end
end
end
describe " Current collection start year " do
context " when the date is after 1st of April " do
context " when the date is after 1st of April " do
let ( :now ) { Time . utc ( 2022 , 8 , 3 ) }
let ( :now ) { Time . utc ( 2022 , 8 , 3 ) }
@ -77,4 +77,35 @@ RSpec.describe CollectionTimeHelper do
end
end
end
end
end
end
describe " # date_mid_collection_year_formatted " do
subject ( :result ) { date_mid_collection_year_formatted ( input ) }
context " when called with nil " do
let ( :input ) { nil }
it " returns the current date " do
today = Time . zone . today
expect ( result ) . to eq ( " #{ today . day } #{ today . month } #{ today . year } " )
end
end
context " when called with a date after the first of April " do
calendar_year = 2030
let ( :input ) { Date . new ( calendar_year , 7 , 7 ) }
it " returns the first of September from that year " do
expect ( result ) . to eq ( " 1 9 #{ calendar_year } " )
end
end
context " when called with a date before April " do
calendar_year = 2040
let ( :input ) { Date . new ( calendar_year , 2 , 7 ) }
it " returns the first of September from the previous year " do
expect ( result ) . to eq ( " 1 9 #{ calendar_year - 1 } " )
end
end
end
end
end