mirror of
https://github.com/ENSL/ensl.org.git
synced 2024-12-27 21:10:54 +00:00
6269d4a69b
Added new NSL logo Change default gather passwords Explicitly add sprockets to the Gemfile
87 lines
No EOL
2.1 KiB
Ruby
87 lines
No EOL
2.1 KiB
Ruby
require 'spec_helper'
|
|
|
|
feature 'Google Calendar widget' do
|
|
let(:events_list_json) { JSON.parse(File.read(Rails.root.join('spec/fixtures/google_calendar.json'))) }
|
|
let!(:user) { create(:user) }
|
|
|
|
before do
|
|
GoogleCalendar::Request.stub(:events_list) do
|
|
GoogleCalendar::EventList.new(events_list_json, Time.zone.name)
|
|
end
|
|
|
|
visit root_path
|
|
end
|
|
|
|
scenario 'the most recent upcoming event should appear correctly' do
|
|
time = Time.zone.local(2014, 4, 1, 12, 0, 0)
|
|
|
|
Timecop.travel(time) do
|
|
visit root_path
|
|
|
|
expect(first_event).to have_content("Div 2B: el'pheer vs. RadicaL")
|
|
end
|
|
end
|
|
|
|
feature 'Timezones offsets' do
|
|
scenario 'when a user is logged out, CEST is default' do
|
|
time = Time.zone.local(2014, 4, 1, 12, 0, 0)
|
|
|
|
Timecop.travel(time) do
|
|
visit root_path
|
|
|
|
expect(first_event).to have_content("20:30 CEST")
|
|
end
|
|
end
|
|
|
|
scenario 'when time has passed under 2 hours after the start date' do
|
|
time = Time.zone.local(2014, 4, 4, 23, 59, 0)
|
|
|
|
Timecop.travel(time) do
|
|
visit root_path
|
|
|
|
expect(first_event).to have_content("Div 3B: Mister vs. HBZ")
|
|
end
|
|
end
|
|
|
|
scenario 'when time has passed over 2 hours after the start date' do
|
|
time = Time.zone.local(2014, 4, 5, 0, 1, 0)
|
|
|
|
Timecop.travel(time) do
|
|
visit root_path
|
|
|
|
expect(first_event).not_to have_content("Div 3B: Mister vs. HBZ")
|
|
expect(first_event).to have_content("Div 3B: OMNOM vs. Mister")
|
|
end
|
|
end
|
|
|
|
scenario 'when a user is logged in, their local timezone is used' do
|
|
time = Time.zone.local(2014, 4, 1, 12, 0, 0)
|
|
|
|
Timecop.travel(time) do
|
|
sign_in_as(user)
|
|
change_timezone_for(user, timezone_us_east)
|
|
visit root_path
|
|
|
|
expect(first_event).to have_content(timezone_adjusted)
|
|
end
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def first_event
|
|
page.find(:xpath, "//div[@id = 'index-calendar']/div/div[@class = 'content'][1]")
|
|
end
|
|
|
|
def timezone_adjusted
|
|
if Time.now.dst?
|
|
"14:30 EDT"
|
|
else
|
|
"15:30 EST"
|
|
end
|
|
end
|
|
|
|
def timezone_us_east
|
|
"Eastern Time (US & Canada)"
|
|
end
|
|
end |