diff --git a/app/models/concerns/issued_at.rb b/app/models/concerns/issued_at.rb index 93d1c3e2ef..e7b1ad9fc5 100644 --- a/app/models/concerns/issued_at.rb +++ b/app/models/concerns/issued_at.rb @@ -21,7 +21,7 @@ def issued_at_cannot_be_before_2000 end def issued_at_cannot_be_further_than_1_year - if issued_at.present? && issued_at > DateTime.now.next_year + if issued_at.present? && issued_at > DateTime.current.next_year errors.add(:issued_at, "cannot be more than 1 year in the future") end end diff --git a/spec/factories/donations.rb b/spec/factories/donations.rb index 70e2bef821..ef5bb6c1a0 100644 --- a/spec/factories/donations.rb +++ b/spec/factories/donations.rb @@ -22,7 +22,7 @@ source { Donation::SOURCES[:misc] } storage_location organization { Organization.try(:first) || create(:organization) } - issued_at { Time.current } + issued_at { DateTime.current } factory :manufacturer_donation do manufacturer diff --git a/spec/models/organization_spec.rb b/spec/models/organization_spec.rb index ddbd10442a..ad40e1b7d6 100644 --- a/spec/models/organization_spec.rb +++ b/spec/models/organization_spec.rb @@ -107,7 +107,6 @@ describe 'users' do subject { organization.users } - let(:organization) { create(:organization) } context 'when a organizaton has a user that has two roles' do let(:user) { create(:user) } @@ -361,7 +360,6 @@ end context 'with invisible items' do - let!(:organization) { create(:organization) } let!(:item1) { create(:item, organization: organization, active: true, visible_to_partners: true) } let!(:item2) { create(:item, organization: organization, active: true, visible_to_partners: false) } let!(:item3) { create(:item, organization: organization, active: false, visible_to_partners: true) } @@ -401,21 +399,24 @@ describe 'earliest reporting year' do # re 2813 update annual report -- allowing an earliest reporting year will let us do system testing and staging for annual reports it 'is the organization created year if no associated data' do - org = create(:organization) - expect(org.earliest_reporting_year).to eq(org.created_at.year) + expect(organization.earliest_reporting_year).to eq(organization.created_at.year) end + it 'is the year of the earliest of donation, purchase, or distribution if they are earlier ' do - org = create(:organization) - create(:donation, organization: org, issued_at: 364.days.from_now) - create(:purchase, organization: org, issued_at: 364.days.from_now) - create(:distribution, organization: org, issued_at: 364.days.from_now) - expect(org.earliest_reporting_year).to eq(org.created_at.year) - create(:donation, organization: org, issued_at: 5.years.ago) - expect(org.earliest_reporting_year).to eq(5.years.ago.year) - create(:purchase, organization: org, issued_at: 6.years.ago) - expect(org.earliest_reporting_year).to eq(6.years.ago.year) - create(:purchase, organization: org, issued_at: 7.years.ago) - expect(org.earliest_reporting_year).to eq(7.years.ago.year) + freeze_time do + create(:donation, organization: organization, issued_at: DateTime.current.next_year - 1.day) + create(:purchase, organization: organization, issued_at: DateTime.current.next_year - 1.day) + create(:distribution, organization: organization, issued_at: DateTime.current.next_year - 1.day) + expect(organization.earliest_reporting_year).to eq(organization.created_at.year) + create(:donation, organization: organization, issued_at: 5.years.ago) + expect(organization.earliest_reporting_year).to eq(5.years.ago.year) + create(:purchase, organization: organization, issued_at: 6.years.ago) + expect(organization.earliest_reporting_year).to eq(6.years.ago.year) + create(:purchase, organization: organization, issued_at: 7.years.ago) + expect(organization.earliest_reporting_year).to eq(7.years.ago.year) + ensure + travel_back + end end end diff --git a/spec/requests/reports/donations_summary_spec.rb b/spec/requests/reports/donations_summary_spec.rb index f8291020c7..9598dc2f9c 100644 --- a/spec/requests/reports/donations_summary_spec.rb +++ b/spec/requests/reports/donations_summary_spec.rb @@ -8,15 +8,16 @@ end describe "time display" do - let!(:donation) { create(:donation, :with_items, issued_at: 1.day.ago) } + it "uses issued_at for the relative time display, not created_at" do + freeze_time do + create(:donation, :with_items, issued_at: DateTime.current - 1.day) - before do - freeze_time - get reports_donations_summary_path - end + get reports_donations_summary_path - it "uses issued_at for the relative time display, not created_at" do - expect(response.body).to include("1 day ago") + expect(response.body).to include("1 day ago") + ensure + travel_back + end end end