2011-03-27 22:56:15 +02:00
|
|
|
require 'spec_helper'
|
|
|
|
|
|
|
|
describe FeedHelper do
|
2014-02-17 18:05:39 +01:00
|
|
|
describe "feed_select_data" do
|
|
|
|
before :each do
|
|
|
|
@channel = FactoryGirl.create(:channel)
|
|
|
|
end
|
|
|
|
it "extracts selection criteria from the request parameters with no time params" do
|
|
|
|
#params = {:average => 10}
|
|
|
|
helper.stub(:params).and_return(params)
|
|
|
|
only = Feed.select_options(@channel, params)
|
|
|
|
only.should include(:created_at, :entry_id)
|
|
|
|
end
|
|
|
|
it "extracts selection criteria from the request parameters " do
|
|
|
|
params = {:average => 10}
|
|
|
|
helper.stub(:params).and_return(params)
|
|
|
|
only = Feed.select_options(@channel, params)
|
|
|
|
only.should include(:created_at)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
describe "feeds_into_averages" do
|
|
|
|
before :each do
|
|
|
|
userAttr = FactoryGirl.attributes_for(:user)
|
|
|
|
@user = User.create!(userAttr)
|
|
|
|
|
|
|
|
@channel = FactoryGirl.create(:channel, :user => @user)
|
|
|
|
now = Time.utc(2013,1,1)
|
|
|
|
feed1 = FactoryGirl.create(:feed, :channel => @channel, :created_at => now)
|
|
|
|
feed2 = FactoryGirl.create(:feed, :channel => @channel, :created_at => now - 5.minutes)
|
|
|
|
feed3 = FactoryGirl.create(:feed, :channel => @channel, :created_at => now - 8.minutes)
|
|
|
|
end
|
|
|
|
|
|
|
|
it "averages feed values based on a timeslice" do
|
|
|
|
feeds = Feed.find(:all, :order => :created_at)
|
|
|
|
params = {:average => 10}
|
|
|
|
helper.stub(:params).and_return(params)
|
|
|
|
|
|
|
|
timeslices = helper.feeds_into_averages(feeds, params)
|
|
|
|
timeslices.size.should eq(2)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
describe "feeds_into_median" do
|
|
|
|
before :each do
|
|
|
|
userAttr = FactoryGirl.attributes_for(:user)
|
|
|
|
@user = User.create!(userAttr)
|
|
|
|
|
|
|
|
@channel = FactoryGirl.create(:channel, :user => @user)
|
|
|
|
now = Time.utc(2013,1,1)
|
|
|
|
feed1 = FactoryGirl.create(:feed, :channel => @channel, :created_at => now)
|
|
|
|
feed2 = FactoryGirl.create(:feed, :channel => @channel, :created_at => now - 5.minutes)
|
|
|
|
feed3 = FactoryGirl.create(:feed, :channel => @channel, :created_at => now - 8.minutes)
|
|
|
|
end
|
|
|
|
|
|
|
|
it "median feed values based on a timeslice" do
|
|
|
|
feeds = Feed.find(:all, :order => :created_at)
|
|
|
|
params = {:median => 10}
|
|
|
|
helper.stub(:params).and_return(params)
|
|
|
|
|
|
|
|
timeslices = helper.feeds_into_medians(feeds, params)
|
|
|
|
timeslices.size.should eq(2)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
describe "feeds_into_sums" do
|
|
|
|
before :each do
|
|
|
|
userAttr = FactoryGirl.attributes_for(:user)
|
|
|
|
@user = User.create!(userAttr)
|
|
|
|
|
|
|
|
@channel = FactoryGirl.create(:channel, :user => @user)
|
|
|
|
now = Time.utc(2013,1,1)
|
|
|
|
feed1 = FactoryGirl.create(:feed, :channel => @channel, :created_at => now)
|
|
|
|
feed2 = FactoryGirl.create(:feed, :channel => @channel, :created_at => now - 5.minutes)
|
|
|
|
feed3 = FactoryGirl.create(:feed, :channel => @channel, :created_at => now - 8.minutes)
|
|
|
|
end
|
|
|
|
|
|
|
|
it "sum feed values based on a timeslice" do
|
|
|
|
feeds = Feed.find(:all, :order => :created_at)
|
|
|
|
params = {:sum => 10}
|
|
|
|
helper.stub(:params).and_return(params)
|
|
|
|
|
|
|
|
timeslices = helper.feeds_into_sums(feeds, params)
|
|
|
|
timeslices.size.should eq(2)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
describe "feeds_into_timescales" do
|
|
|
|
before :each do
|
|
|
|
userAttr = FactoryGirl.attributes_for(:user)
|
|
|
|
@user = User.create!(userAttr)
|
|
|
|
|
|
|
|
@channel = FactoryGirl.create(:channel, :user => @user)
|
|
|
|
now = Time.utc(2013,1,1)
|
|
|
|
feed1 = FactoryGirl.create(:feed, :channel => @channel, :created_at => now)
|
|
|
|
feed2 = FactoryGirl.create(:feed, :channel => @channel, :created_at => now - 5.minutes)
|
|
|
|
feed3 = FactoryGirl.create(:feed, :channel => @channel, :created_at => now - 8.minutes)
|
|
|
|
end
|
|
|
|
|
|
|
|
it "timescale feed values based on a timeslice" do
|
|
|
|
feeds = Feed.find(:all, :order => :created_at)
|
|
|
|
params = {:timescale => 10}
|
|
|
|
helper.stub(:params).and_return(params)
|
|
|
|
|
|
|
|
timeslices = helper.feeds_into_timescales(feeds, params)
|
|
|
|
timeslices.size.should eq(2)
|
|
|
|
end
|
|
|
|
end
|
2011-03-27 22:56:15 +02:00
|
|
|
end
|
2014-02-17 18:05:39 +01:00
|
|
|
|