jam-cloud/ruby/spec/jam_ruby/models/broadcast_notification_spec.rb

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