43 lines
1.1 KiB
Ruby
43 lines
1.1 KiB
Ruby
require 'byebug'
|
|
require 'spec_helper'
|
|
|
|
describe BroadcastNotification do
|
|
|
|
let(:broadcast) { FactoryGirl.create(:broadcast_notification) }
|
|
let(:user1) { FactoryGirl.create(:user) }
|
|
let(:user2) { FactoryGirl.create(:user) }
|
|
let(:user3) { FactoryGirl.create(:user) }
|
|
let(:user4) { FactoryGirl.create(:user) }
|
|
|
|
it 'created broadcast' do
|
|
expect(broadcast.title).not_to be_empty
|
|
expect(broadcast.frequency).to be > 0
|
|
end
|
|
|
|
it 'gets viewed' do
|
|
bnv = broadcast.did_view(user1)
|
|
expect(bnv.view_count).to be == 1
|
|
end
|
|
|
|
it 'gets view incremented' do
|
|
bnv = broadcast.did_view(user1)
|
|
bnv = broadcast.did_view(user1)
|
|
expect(bnv.view_count).to be >= 2
|
|
end
|
|
|
|
it 'generages frequency distribution' do
|
|
4.times { |nn| broadcast.did_view(user1) }
|
|
5.times { |nn| broadcast.did_view(user2) }
|
|
5.times { |nn| broadcast.did_view(user3) }
|
|
8.times { |nn| broadcast.did_view(user4) }
|
|
|
|
distrib = broadcast.frequency_distribution
|
|
|
|
expect(distrib.count).to be == 3
|
|
expect(distrib[4]).to be == 1
|
|
expect(distrib[5]).to be == 2
|
|
expect(distrib[8]).to be == 1
|
|
end
|
|
|
|
end
|