45 lines
1.2 KiB
Ruby
45 lines
1.2 KiB
Ruby
require 'rails_helper'
|
|
|
|
describe Api::StatsController do
|
|
|
|
# GET index
|
|
#----------------------------------------------------------------------
|
|
|
|
describe 'GET index' do
|
|
let(:user) { create :user }
|
|
|
|
context 'event not present' do
|
|
it 'should respond with bad_request' do
|
|
sign_in user
|
|
get :show
|
|
expect(response.status).to eq 400
|
|
end
|
|
end
|
|
|
|
context 'event present' do
|
|
it 'should return event counts' do
|
|
time_1 = DateTime.yesterday.to_datetime
|
|
time_2 = DateTime.now
|
|
|
|
event_1 = create :ahoy_event, name: 'foo', time: time_1
|
|
event_2 = create :ahoy_event, name: 'foo', time: time_1
|
|
event_3 = create :ahoy_event, name: 'foo', time: time_2
|
|
event_4 = create :ahoy_event, name: 'bar'
|
|
|
|
sign_in user
|
|
get :show, event: 'foo'
|
|
|
|
expect(response).to be_ok
|
|
|
|
data = JSON.parse(response.body)
|
|
dates = data.keys
|
|
|
|
expect(DateTime.parse dates.first).to eq time_1.utc.beginning_of_day
|
|
expect(DateTime.parse dates.last).to eq time_2.utc.beginning_of_day
|
|
expect(data[dates.first]).to eq 2
|
|
expect(data[dates.last]).to eq 1
|
|
end
|
|
end
|
|
end
|
|
end
|