53 lines
1.6 KiB
Ruby
53 lines
1.6 KiB
Ruby
RSpec.describe StatisticsController do
|
|
let(:organization) { Fabricate(:organization) }
|
|
let(:user) { Fabricate(:user, date_of_birth: '1980-1-1', gender: 'others') }
|
|
let(:member) { Fabricate(:member, organization: organization, user: user) }
|
|
|
|
before(:each) { login(member.user) }
|
|
|
|
describe 'GET #all_transfers' do
|
|
it 'populates all transfers from current organization' do
|
|
transfer = Fabricate(:transfer, source: organization.account, destination: member.account)
|
|
transfer2 = Fabricate(:transfer)
|
|
|
|
get :all_transfers
|
|
|
|
expect(assigns(:transfers)).to eq([transfer])
|
|
end
|
|
end
|
|
|
|
describe 'GET #global_activity' do
|
|
it 'populates some variables' do
|
|
2.times { Fabricate(:transfer, source: organization.account, destination: member.account) }
|
|
|
|
get :global_activity
|
|
|
|
expect(assigns(:num_swaps)).to eq(2)
|
|
expect(assigns(:total_hours)).to eq(20)
|
|
end
|
|
end
|
|
|
|
describe 'GET #type_swaps' do
|
|
it 'populates offers variable' do
|
|
category = Fabricate(:category)
|
|
Fabricate(:offer, organization: organization, user: member.user, category: category, tag_list: ["foo"])
|
|
Fabricate(:transfer, source: organization.account, destination: member.account, post: Offer.all.sample)
|
|
|
|
get :type_swaps
|
|
|
|
expect(assigns(:offers)).to eq([
|
|
[category.name, "foo", 10, 1, 1.0]
|
|
])
|
|
end
|
|
end
|
|
|
|
describe 'GET #demographics' do
|
|
it 'populates age_counts and gender_counts variables' do
|
|
get :demographics
|
|
|
|
expect(assigns(:age_counts)).to eq({ "45-54" => 1 })
|
|
expect(assigns(:gender_counts)).to eq({ "Otro" => 1 })
|
|
end
|
|
end
|
|
end
|