diff --git a/.github/workflows/spec.yml b/.github/workflows/spec.yml index 9a360e10d..8e1a82da1 100644 --- a/.github/workflows/spec.yml +++ b/.github/workflows/spec.yml @@ -70,13 +70,13 @@ jobs: # with: # project-token: ${{ secrets.CODACY_PROJECT_TOKEN }} # coverage-reports: coverage/coverage.xml - - name: Upload Capybara Failure Screenshots - uses: actions/upload-artifact@v3 - if: always() - with: - name: capybara-screenshots - path: tmp/capybara/ - retention-days: 7 + # - name: Upload Capybara Failure Screenshots + # uses: actions/upload-artifact@v4 + # if: always() + # with: + # name: capybara-screenshots + # path: tmp/capybara/ + # retention-days: 7 # - name: Publish code coverage # run: | # export GIT_BRANCH="${GITHUB_REF/refs\/heads\//}" diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 492c98a7f..df07ae03f 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -150,7 +150,7 @@ def rescheduling_hint(affected_event_count) # ==== Returns # class hidden if conference is over def hidden_if_conference_over(conference) - 'hidden' if Date.today > conference.end_date + 'hidden' if Time.zone.today > conference.end_date end # TODO-SNAPCON: Replace this with a search for a conference logo. diff --git a/app/models/cfp.rb b/app/models/cfp.rb index 87cb70cd1..8cc1f7745 100644 --- a/app/models/cfp.rb +++ b/app/models/cfp.rb @@ -76,7 +76,7 @@ def end_week end_date.strftime('%W').to_i end - def remaining_days(date = Date.today) + def remaining_days(date = Time.zone.today) result = (end_date - date).to_i result > 0 ? result : 0 end diff --git a/app/models/conference.rb b/app/models/conference.rb index 20e1ce441..204effbe8 100644 --- a/app/models/conference.rb +++ b/app/models/conference.rb @@ -391,7 +391,7 @@ def get_registration_end_week # * +false+ -> If the conference start date is in the past. # * +true+ -> If the conference start date is in the future. def pending? - start_date > Date.today + start_date > Time.zone.today end ## @@ -686,7 +686,7 @@ def self.get_event_state_line_colors def self.write_event_distribution_to_db week = DateTime.now.end_of_week - Conference.where('end_date > ?', Date.today).find_each do |conference| + Conference.where('end_date > ?', Time.zone.today).find_each do |conference| result = {} Event.state_machine.states.each do |state| count = conference.program.events.where('state = ?', state.name).count @@ -905,7 +905,7 @@ def get_events_per_week_by_state end # Actual week - this_week = Date.today.end_of_week.strftime('%W').to_i + this_week = Time.zone.today.end_of_week.strftime('%W').to_i result['Confirmed'][this_week] = program.events.where('state = ?', :confirmed).count result['Unconfirmed'][this_week] = program.events.where('state = ?', :unconfirmed).count result['Submitted'] = program.events.select(:week).group(:week).count diff --git a/app/models/event.rb b/app/models/event.rb index ea9ab7fbf..f72e3b3a2 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -440,7 +440,7 @@ def before_end_of_conference return if submitter&.is_admin? if program.conference&.end_date && - (Date.today > program.conference.end_date) + (Time.zone.today > program.conference.end_date) errors .add(:created_at, "can't be after the conference end date!") end diff --git a/app/models/user.rb b/app/models/user.rb index bfa75bb97..6795563fa 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -107,10 +107,10 @@ def for_registration(conference) # scopes for user distributions scope :recent, lambda { - where('last_sign_in_at > ?', Date.today - 3.months).where(is_disabled: false) + where('last_sign_in_at > ?', Time.zone.today - 3.months).where(is_disabled: false) } scope :unconfirmed, -> { where('confirmed_at IS NULL') } - scope :dead, -> { where('last_sign_in_at < ?', Date.today - 1.year) } + scope :dead, -> { where('last_sign_in_at < ?', Time.zone.today - 1.year) } # Include default devise modules. Others available are: # :token_authenticatable, :confirmable, diff --git a/app/views/conference_registrations/show.html.haml b/app/views/conference_registrations/show.html.haml index 88e4fac45..8eaaf332c 100644 --- a/app/views/conference_registrations/show.html.haml +++ b/app/views/conference_registrations/show.html.haml @@ -124,13 +124,13 @@ .col-md-12 - if @registration .btn-group-vertical.pull-right - = link_to 'Edit your Registration', edit_conference_conference_registration_path(@conference.short_title), class: 'btn btn-success', disabled: @conference.end_date < Date.today + = link_to 'Edit your Registration', edit_conference_conference_registration_path(@conference.short_title), class: 'btn btn-success', disabled: @conference.end_date < Time.zone.today - if @purchases.any? = link_to 'Unregister', conference_conference_registration_path(@conference.short_title), method: :delete, class: 'btn btn-danger btn-xs', - data: { confirm: "Your ticket purchases won't be refunded. Are you sure you want to unregister?" }, disabled: @conference.end_date < Date.today + data: { confirm: "Your ticket purchases won't be refunded. Are you sure you want to unregister?" }, disabled: @conference.end_date < Time.zone.today - else = link_to 'Unregister', conference_conference_registration_path(@conference.short_title), method: :delete, class: 'btn btn-danger btn-xs', - data: { confirm: "You haven't purchased any ticket. Are you sure you want to unregister?" }, disabled: @conference.end_date < Date.today + data: { confirm: "You haven't purchased any ticket. Are you sure you want to unregister?" }, disabled: @conference.end_date < Time.zone.today - else = link_to 'Register', new_conference_conference_registration_path(@conference.short_title), class: 'btn btn-success btn-lg pull-right' diff --git a/spec/controllers/admin/cfps_controller_spec.rb b/spec/controllers/admin/cfps_controller_spec.rb index fc52d34e6..ee6ed65eb 100644 --- a/spec/controllers/admin/cfps_controller_spec.rb +++ b/spec/controllers/admin/cfps_controller_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' describe Admin::CfpsController do - let!(:today) { Date.today } + let!(:today) { Time.zone.today } let!(:conference) { create(:conference, start_date: today + 20.days, end_date: today + 30.days) } let!(:organizer) { create(:organizer, resource: conference) } let(:cfp) { create(:cfp, program: conference.program) } diff --git a/spec/controllers/admin/conferences_controller_spec.rb b/spec/controllers/admin/conferences_controller_spec.rb index c91bbacf9..e81a4bac1 100644 --- a/spec/controllers/admin/conferences_controller_spec.rb +++ b/spec/controllers/admin/conferences_controller_spec.rb @@ -48,8 +48,8 @@ conference.email_settings = create(:email_settings) patch :update, params: { id: conference.short_title, - conference: attributes_for(:conference, start_date: Date.today + 2.days, - end_date: Date.today + 4.days) } + conference: attributes_for(:conference, start_date: Time.zone.today + 2.days, + end_date: Time.zone.today + 4.days) } conference.reload allow(Mailbot).to receive(:conference_date_update_mail).and_return(mailer) end diff --git a/spec/controllers/admin/registration_periods_controller_spec.rb b/spec/controllers/admin/registration_periods_controller_spec.rb index 182324dc0..833ad76d1 100644 --- a/spec/controllers/admin/registration_periods_controller_spec.rb +++ b/spec/controllers/admin/registration_periods_controller_spec.rb @@ -47,13 +47,13 @@ allow(mailer).to receive(:deliver) conference.email_settings = create(:email_settings) conference.registration_period = create(:registration_period, - start_date: Date.today, - end_date: Date.today + 2.days) + start_date: Time.zone.today, + end_date: Time.zone.today + 2.days) patch :update, params: { conference_id: conference.short_title, registration_period: attributes_for(:registration_period, - start_date: Date.today + 2.days, - end_date: Date.today + 4.days) } + start_date: Time.zone.today + 2.days, + end_date: Time.zone.today + 4.days) } conference.reload allow(Mailbot).to receive(:conference_registration_date_update_mail).and_return(mailer) end diff --git a/spec/factories/conferences.rb b/spec/factories/conferences.rb index 5c1f9377a..5cad2918e 100644 --- a/spec/factories/conferences.rb +++ b/spec/factories/conferences.rb @@ -42,7 +42,7 @@ title { Faker::Book.title } short_title { SecureRandom.urlsafe_base64(4) } timezone { Faker::Address.time_zone } - start_date { Date.today } + start_date { Time.zone.today } end_date { 6.days.from_now } start_hour { 9 } end_hour { 20 } diff --git a/spec/factories/tracks.rb b/spec/factories/tracks.rb index fe6664e99..4547d6107 100644 --- a/spec/factories/tracks.rb +++ b/spec/factories/tracks.rb @@ -42,8 +42,8 @@ association :submitter, factory: :user state { 'new' } cfp_active { false } - start_date { Date.today } - end_date { Date.today } + start_date { Time.zone.today } + end_date { Time.zone.today } room relevance { Faker::Hipster.paragraph(sentence_count: 2) } end diff --git a/spec/factories/users.rb b/spec/factories/users.rb index f9135376c..165a85fab 100644 --- a/spec/factories/users.rb +++ b/spec/factories/users.rb @@ -79,7 +79,7 @@ Quisque cursus facilisis consequat. Etiam volutpat ligula turpis, at gravida. EOS - last_sign_in_at { Date.today } + last_sign_in_at { Time.zone.today } is_disabled { false } # Called by every user creation diff --git a/spec/factories/vdays.rb b/spec/factories/vdays.rb index b7932e074..f8e6cc0d3 100644 --- a/spec/factories/vdays.rb +++ b/spec/factories/vdays.rb @@ -13,7 +13,7 @@ # FactoryBot.define do factory :vday do - day { Date.today } + day { Time.zone.today } description { 'Lorem Ipsum dolsum' } conference end diff --git a/spec/features/conference_spec.rb b/spec/features/conference_spec.rb index eb00a0799..25780953e 100644 --- a/spec/features/conference_spec.rb +++ b/spec/features/conference_spec.rb @@ -19,7 +19,7 @@ select('(GMT+01:00) Berlin', from: 'conference[timezone]') - today = Date.today - 1 + today = Time.zone.today - 1 page .execute_script("$('#conference-start-datepicker').val('" + "#{today.strftime('%d/%m/%Y')}')") @@ -50,7 +50,7 @@ fill_in 'conference_title', with: 'New Con' fill_in 'conference_short_title', with: 'NewCon' - day = Date.today + 10 + day = Time.zone.today + 10 page .execute_script("$('#conference-start-datepicker').val('" + "#{day.strftime('%d/%m/%Y')}')") diff --git a/spec/features/registration_periods_spec.rb b/spec/features/registration_periods_spec.rb index 1b6b4a901..d1a9aa7fd 100644 --- a/spec/features/registration_periods_spec.rb +++ b/spec/features/registration_periods_spec.rb @@ -6,8 +6,8 @@ # It is necessary to use bang version of let to build roles before user let!(:conference) { create(:conference) } let!(:organizer) { create(:organizer, email: 'admin@example.com', resource: conference) } - let(:start_date) { Date.today } - let(:end_date) { Date.today + 5 } + let(:start_date) { Time.zone.today } + let(:end_date) { Time.zone.today + 5 } context 'as organizer' do before do diff --git a/spec/features/versions_spec.rb b/spec/features/versions_spec.rb index 861abcf08..bd50bdc07 100644 --- a/spec/features/versions_spec.rb +++ b/spec/features/versions_spec.rb @@ -35,8 +35,8 @@ end it 'display changes in cfp', feature: true, versioning: true, js: true do - cfp.update(start_date: (Date.today + 1).strftime('%d/%m/%Y'), - end_date: (Date.today + 3).strftime('%d/%m/%Y')) + cfp.update(start_date: (Time.zone.today + 1).strftime('%d/%m/%Y'), + end_date: (Time.zone.today + 3).strftime('%d/%m/%Y')) cfp_id = cfp.id cfp.destroy @@ -48,8 +48,8 @@ it 'display changes in registration_period', feature: true, versioning: true, js: true do registration_period = create(:registration_period, conference: conference) - registration_period.update(start_date: (Date.today + 1).strftime('%d/%m/%Y'), - end_date: (Date.today + 3).strftime('%d/%m/%Y')) + registration_period.update(start_date: (Time.zone.today + 1).strftime('%d/%m/%Y'), + end_date: (Time.zone.today + 3).strftime('%d/%m/%Y')) registration_period_id = registration_period.id registration_period.destroy diff --git a/spec/models/cfp_spec.rb b/spec/models/cfp_spec.rb index f85b9e876..a500938d4 100644 --- a/spec/models/cfp_spec.rb +++ b/spec/models/cfp_spec.rb @@ -19,9 +19,9 @@ describe Cfp do subject { create(:cfp) } - let!(:conference) { create(:conference, end_date: Date.today) } + let!(:conference) { create(:conference, end_date: Time.zone.today) } let!(:cfp) do - create(:cfp, cfp_type: 'events', start_date: Date.today - 2, end_date: Date.today - 1, + create(:cfp, cfp_type: 'events', start_date: Time.zone.today - 2, end_date: Time.zone.today - 1, program_id: conference.program.id) end @@ -45,7 +45,7 @@ describe '.for_tracks' do it 'returns the cfp for tracks when it exists' do - call_for_tracks = create(:cfp, cfp_type: 'tracks', program: conference.program, end_date: Date.today) + call_for_tracks = create(:cfp, cfp_type: 'tracks', program: conference.program, end_date: Time.zone.today) expect(conference.program.cfps.for_tracks).to eq call_for_tracks end @@ -57,12 +57,12 @@ describe '#before_end_of_conference' do describe 'fails to save cfp' do it 'when cfp end_date is after conference end_date' do - cfp.end_date = Date.today + 1 + cfp.end_date = Time.zone.today + 1 expect(cfp.valid?).to be false end it 'when cfp start_date is after conference end_date' do - cfp.start_date = Date.today + 1 + cfp.start_date = Time.zone.today + 1 expect(cfp.valid?).to be false end end @@ -80,7 +80,7 @@ end it 'fails when cfp start_date is after cfp end_date' do - cfp.start_date = Date.today + cfp.start_date = Time.zone.today expect(cfp.valid?).to be false end end @@ -98,14 +98,14 @@ describe 'returns true' do it 'when end_date changed' do - cfp.end_date = Date.today + cfp.end_date = Time.zone.today expect(cfp.start_date_changed?).to be false expect(cfp.end_date_changed?).to be true expect(cfp.notify_on_cfp_date_update?).to be true end it 'when start_date changed' do - cfp.start_date = Date.today + cfp.start_date = Time.zone.today expect(cfp.end_date_changed?).to be false expect(cfp.start_date_changed?).to be true expect(cfp.notify_on_cfp_date_update?).to be true @@ -122,7 +122,7 @@ it 'when send_on_cfp_dates_updates is not set' do conference.email_settings.send_on_cfp_dates_updated = false conference.email_settings.save! - cfp.end_date = Date.today + cfp.end_date = Time.zone.today expect(cfp.end_date_changed?).to be true expect(cfp.notify_on_cfp_date_update?).to be false @@ -131,7 +131,7 @@ it 'when cfp_dates_updates_subject is not set' do conference.email_settings.cfp_dates_updated_subject = '' conference.email_settings.save! - cfp.end_date = Date.today + cfp.end_date = Time.zone.today expect(cfp.end_date_changed?).to be true expect(cfp.notify_on_cfp_date_update?).to be false @@ -140,7 +140,7 @@ it 'when cfp_dates_updates_template is not set' do conference.email_settings.cfp_dates_updated_body = '' conference.email_settings.save! - cfp.end_date = Date.today + cfp.end_date = Time.zone.today expect(cfp.end_date_changed?).to be true expect(cfp.notify_on_cfp_date_update?).to be false diff --git a/spec/models/conference_spec.rb b/spec/models/conference_spec.rb index e96d69fac..9f2f9956b 100644 --- a/spec/models/conference_spec.rb +++ b/spec/models/conference_spec.rb @@ -72,11 +72,11 @@ describe '#write_event_distribution_to_db' do it 'updates pending conferences' do create(:conference, - start_date: Date.today - 2.weeks, - end_date: Date.today - 1.week) + start_date: Time.zone.today - 2.weeks, + end_date: Time.zone.today - 1.week) - subject.start_date = Date.today + 1.week - subject.end_date = Date.today + 2.weeks + subject.start_date = Time.zone.today + 1.week + subject.end_date = Time.zone.today + 2.weeks result = { DateTime.now.end_of_week => @@ -97,8 +97,8 @@ it 'does not update past conferences' do old_conference = create(:conference, - start_date: Date.today - 2.weeks, - end_date: Date.today - 1.week) + start_date: Time.zone.today - 2.weeks, + end_date: Time.zone.today - 1.week) Conference.write_event_distribution_to_db old_conference.reload @@ -107,12 +107,12 @@ it 'computes the correct result' do subject.email_settings = create(:email_settings) - subject.start_date = Date.today + 6.weeks - subject.end_date = Date.today + 7.weeks + subject.start_date = Time.zone.today + 6.weeks + subject.end_date = Time.zone.today + 7.weeks subject.save - create(:cfp, start_date: Date.today - 3.weeks, program: subject.program) + create(:cfp, start_date: Time.zone.today - 3.weeks, program: subject.program) - create(:event, program: subject.program, created_at: Date.today) + create(:event, program: subject.program, created_at: Time.zone.today) options = {} options[:send_mail] = 'false' @@ -153,8 +153,8 @@ it 'does not overwrite old entries' do subject.email_settings = create(:email_settings) - subject.start_date = Date.today + 6.weeks - subject.end_date = Date.today + 7.weeks + subject.start_date = Time.zone.today + 6.weeks + subject.end_date = Time.zone.today + 7.weeks db_data = { DateTime.now.end_of_week - 2.weeks => { @@ -177,9 +177,9 @@ } subject.events_per_week = db_data subject.save - create(:cfp, start_date: Date.today - 3.weeks, program: subject.program) + create(:cfp, start_date: Time.zone.today - 3.weeks, program: subject.program) - create(:event, program: subject.program, created_at: Date.today) + create(:event, program: subject.program, created_at: Time.zone.today) unconfirmed = create(:event, program: subject.program) confirmed = create(:event, program: subject.program) options = {} @@ -231,16 +231,16 @@ end it 'calculates the correct result with data from database' do - subject.start_date = Date.today + 6.weeks - subject.end_date = Date.today + 7.weeks + subject.start_date = Time.zone.today + 6.weeks + subject.end_date = Time.zone.today + 7.weeks # Inject last two weeks to database db_data = { - Date.today.end_of_week - 2.weeks => { + Time.zone.today.end_of_week - 2.weeks => { confirmed: 1, unconfirmed: 2 }, - Date.today.end_of_week - 1.week => { + Time.zone.today.end_of_week - 1.week => { confirmed: 3, unconfirmed: 4 } @@ -248,9 +248,9 @@ subject.events_per_week = db_data subject.save - create(:cfp, start_date: Date.today - 2.weeks, program: subject.program) + create(:cfp, start_date: Time.zone.today - 2.weeks, program: subject.program) - create(:event, program: subject.program, created_at: Date.today - 2.weeks) + create(:event, program: subject.program, created_at: Time.zone.today - 2.weeks) result = [{ name: 'Submitted', data: { 'Wk 1' => 1, 'Wk 2' => 1, 'Wk 3' => 1 } }, { name: 'Confirmed', data: { 'Wk 1' => 1, 'Wk 2' => 3, 'Wk 3' => 0 } }, { name: 'Unconfirmed', data: { 'Wk 1' => 2, 'Wk 2' => 4, 'Wk 3' => 0 } }] @@ -258,10 +258,10 @@ end it 'calculates the correct result without data from database' do - subject.start_date = Date.today + 6.weeks - subject.end_date = Date.today + 7.weeks + subject.start_date = Time.zone.today + 6.weeks + subject.end_date = Time.zone.today + 7.weeks subject.save - create(:cfp, start_date: Date.today, program: subject.program) + create(:cfp, start_date: Time.zone.today, program: subject.program) create(:event, program: subject.program) result = [ @@ -274,12 +274,12 @@ it 'pads left correct' do subject.email_settings = create(:email_settings) - subject.start_date = Date.today + 6.weeks - subject.end_date = Date.today + 7.weeks + subject.start_date = Time.zone.today + 6.weeks + subject.end_date = Time.zone.today + 7.weeks subject.save - create(:cfp, start_date: Date.today - 3.weeks, program: subject.program) + create(:cfp, start_date: Time.zone.today - 3.weeks, program: subject.program) - create(:event, program: subject.program, created_at: Date.today) + create(:event, program: subject.program, created_at: Time.zone.today) unconfirmed = create(:event, program: subject.program) confirmed = create(:event, program: subject.program) options = {} @@ -306,16 +306,16 @@ end it 'calculates correct with missing weeks' do - subject.start_date = Date.today + 6.weeks - subject.end_date = Date.today + 7.weeks + subject.start_date = Time.zone.today + 6.weeks + subject.end_date = Time.zone.today + 7.weeks # Inject last two weeks to database db_data = { - Date.today.end_of_week - 3.weeks => { + Time.zone.today.end_of_week - 3.weeks => { confirmed: 1, unconfirmed: 2 }, - Date.today.end_of_week - 1.week => { + Time.zone.today.end_of_week - 1.week => { confirmed: 3, unconfirmed: 4 } @@ -323,9 +323,9 @@ subject.events_per_week = db_data subject.save - create(:cfp, start_date: Date.today - 3.weeks, program: subject.program) + create(:cfp, start_date: Time.zone.today - 3.weeks, program: subject.program) - create(:event, program: subject.program, created_at: Date.today - 3.weeks) + create(:event, program: subject.program, created_at: Time.zone.today - 3.weeks) result = [ { @@ -1027,8 +1027,8 @@ it 'calculates correct for conference with registration, cfp, venue, rooms' do subject.registration_period = create(:registration_period, - start_date: Date.today, - end_date: Date.today + 14, conference: subject) + start_date: Time.zone.today, + end_date: Time.zone.today + 14, conference: subject) create(:cfp, program: subject.program) subject.venue = create(:venue, conference: subject) subject.venue.rooms = [create(:room, venue: subject.venue)] @@ -1051,8 +1051,8 @@ subject.venue.rooms = [create(:room, venue: subject.venue)] subject.program.tracks = [create(:track)] subject.registration_period = create(:registration_period, - start_date: Date.today, - end_date: Date.today + 14, conference: subject) + start_date: Time.zone.today, + end_date: Time.zone.today + 14, conference: subject) create(:cfp, program: subject.program) subject.program.event_types = [] subject.program.difficulty_levels = [] @@ -1073,8 +1073,8 @@ subject.program.tracks = [create(:track)] subject.program.event_types = [create(:event_type)] subject.registration_period = create(:registration_period, - start_date: Date.today, - end_date: Date.today + 14, conference: subject) + start_date: Time.zone.today, + end_date: Time.zone.today + 14, conference: subject) create(:cfp, program: subject.program) subject.venue = create(:venue, conference: subject) subject.venue.rooms = [create(:room, venue: subject.venue)] @@ -1097,8 +1097,8 @@ subject.program.event_types = [create(:event_type)] subject.program.difficulty_levels = [create(:difficulty_level)] subject.registration_period = create(:registration_period, - start_date: Date.today, - end_date: Date.today + 14, conference: subject) + start_date: Time.zone.today, + end_date: Time.zone.today + 14, conference: subject) create(:cfp, program: subject.program) subject.venue = create(:venue, conference: subject) subject.venue.rooms = [create(:room, venue: subject.venue)] @@ -1370,14 +1370,14 @@ describe '#pending?' do context 'is pending' do it '#pending? is true' do - subject.start_date = Date.today + 10 + subject.start_date = Time.zone.today + 10 expect(subject.pending?).to be true end end context 'is not pending' do it '#pending? is false' do - subject.start_date = Date.today - 10 + subject.start_date = Time.zone.today - 10 expect(subject.pending?).to be false end end @@ -1392,10 +1392,10 @@ context 'open registration' do before do - subject.end_date = Date.today + 7 + subject.end_date = Time.zone.today + 7 enrollment = create(:registration_period, - start_date: Date.today - 1, - end_date: Date.today + 7, conference: subject) + start_date: Time.zone.today - 1, + end_date: Time.zone.today + 7, conference: subject) subject.registration_period = enrollment end diff --git a/spec/models/event_spec.rb b/spec/models/event_spec.rb index 72f7d0462..6c6bab33e 100644 --- a/spec/models/event_spec.rb +++ b/spec/models/event_spec.rb @@ -133,7 +133,7 @@ describe '#before_end_of_conference' do context 'is invalid' do it 'when event is created after the conference end_date, and returns an error message' do - conference = create(:conference, start_date: Date.today - 1, end_date: Date.today - 1) + conference = create(:conference, start_date: Time.zone.today - 1, end_date: Time.zone.today - 1) new_event = build(:event, program: conference.program) expect(new_event.valid?).to be false expect(new_event.errors[:created_at]).to eq ["can't be after the conference end date!"] @@ -142,7 +142,7 @@ context 'is valid' do it 'when event is created before the conference end_date' do - conference = create(:conference, start_date: Date.today - 1, end_date: Date.today + 1) + conference = create(:conference, start_date: Time.zone.today - 1, end_date: Time.zone.today + 1) new_event = build(:event, program: conference.program) expect(new_event.valid?).to be true end diff --git a/spec/models/program_spec.rb b/spec/models/program_spec.rb index a62f13244..453aeed1c 100644 --- a/spec/models/program_spec.rb +++ b/spec/models/program_spec.rb @@ -68,29 +68,29 @@ describe 'voting_start_date_before_end_date' do it 'is valid, when voting_start_date is the same day as voting_end_date' do - expect(build(:program, voting_start_date: Date.today, voting_end_date: Date.today)).to be_valid + expect(build(:program, voting_start_date: Time.zone.today, voting_end_date: Time.zone.today)).to be_valid end it 'is valid, when voting_start_date is before voting_end_date' do - expect(build(:program, voting_start_date: Date.today, voting_end_date: Date.today + 1)).to be_valid + expect(build(:program, voting_start_date: Time.zone.today, voting_end_date: Time.zone.today + 1)).to be_valid end it 'is not valid, when voting_start_date is after voting_end_date' do - expect(build(:program, voting_start_date: Date.today, voting_end_date: Date.today - 1)).not_to be_valid + expect(build(:program, voting_start_date: Time.zone.today, voting_end_date: Time.zone.today - 1)).not_to be_valid end end describe 'voting_dates_exist' do it 'is valid, when both voting_start_date and voting_end_date are set' do - expect(build(:program, voting_start_date: Date.today, voting_end_date: Date.today + 1)).to be_valid + expect(build(:program, voting_start_date: Time.zone.today, voting_end_date: Time.zone.today + 1)).to be_valid end it 'is invalid, when voting_start_date is not set' do - expect(build(:program, voting_end_date: Date.today)).not_to be_valid + expect(build(:program, voting_end_date: Time.zone.today)).not_to be_valid end it 'is invalid, when voting_end_date is not set' do - expect(build(:program, voting_start_date: Date.today)).not_to be_valid + expect(build(:program, voting_start_date: Time.zone.today)).not_to be_valid end end end @@ -113,12 +113,12 @@ end it 'returns true if voting period is over' do - program.voting_end_date = Date.today - 1 + program.voting_end_date = Time.zone.today - 1 expect(program.show_voting?).to be true end it 'returns false if we are still in votig period' do - program.voting_end_date = Date.today + 1 + program.voting_end_date = Time.zone.today + 1 expect(program.show_voting?).to be false end end @@ -140,10 +140,10 @@ end context 'voting dates are set' do - it_behaves_like 'voting period', Date.today - 1, Date.today + 1, true - it_behaves_like 'voting period', Date.today - 1, 1.hour.from_now, true - it_behaves_like 'voting period', Date.today - 2, Date.today - 1, false - it_behaves_like 'voting period', Date.today - 1, 1.minute.ago, false + it_behaves_like 'voting period', Time.zone.today - 1, Time.zone.today + 1, true + it_behaves_like 'voting period', Time.zone.today - 1, 1.hour.from_now, true + it_behaves_like 'voting period', Time.zone.today - 2, Time.zone.today - 1, false + it_behaves_like 'voting period', Time.zone.today - 1, 1.minute.ago, false end end diff --git a/spec/models/registration_period_spec.rb b/spec/models/registration_period_spec.rb index a3b93fe75..7a32d2766 100644 --- a/spec/models/registration_period_spec.rb +++ b/spec/models/registration_period_spec.rb @@ -14,10 +14,10 @@ require 'spec_helper' describe RegistrationPeriod do - let!(:conference) { create(:conference, start_date: Date.today, end_date: Date.today + 6) } + let!(:conference) { create(:conference, start_date: Time.zone.today, end_date: Time.zone.today + 6) } let!(:registration_ticket) { create(:registration_ticket, conference: conference) } let!(:registration_period) do - create(:registration_period, start_date: Date.today - 2, end_date: Date.today - 1, conference: conference) + create(:registration_period, start_date: Time.zone.today - 2, end_date: Time.zone.today - 1, conference: conference) end describe 'validations' do diff --git a/spec/models/track_spec.rb b/spec/models/track_spec.rb index a054de04b..be722e871 100644 --- a/spec/models/track_spec.rb +++ b/spec/models/track_spec.rb @@ -132,7 +132,7 @@ end it 'when the track\'s end date is after the conference\'s end date' do - track = build(:track, start_date: Date.today, end_date: 3.days.from_now, program: @conference.program) + track = build(:track, start_date: Time.zone.today, end_date: 3.days.from_now, program: @conference.program) expect(track.valid?).to be false expect(track.errors[:end_date]).to eq ["can't be outside of the conference's dates (#{1.day.ago.to_date}-#{2.days.from_now.to_date})"] end @@ -146,7 +146,7 @@ context 'is valid' do it 'when the track\'s start date is before its end date' do - track = build(:track, start_date: Date.today, end_date: Date.tomorrow, program: @conference.program) + track = build(:track, start_date: Time.zone.today, end_date: Date.tomorrow, program: @conference.program) expect(track.valid?).to be true end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 151acca47..b870c4789 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -145,7 +145,7 @@ describe 'user distribution scopes' do it 'scopes recent users' do - create(:user, last_sign_in_at: Date.today - 3.months + 1.day) # active + create(:user, last_sign_in_at: Time.zone.today - 3.months + 1.day) # active expect(User.recent.count).to eq(1) end