We settled on using this style in commit 4cbe81a1, but didn't add the
rule enforcing this style and we didn't apply it to existing code.
37 lines
1.2 KiB
Ruby
37 lines
1.2 KiB
Ruby
require "rails_helper"
|
|
|
|
describe Ahoy::DataSource do
|
|
describe "#build" do
|
|
before do
|
|
time_1 = Time.zone.local(2015, 01, 01)
|
|
time_2 = Time.zone.local(2015, 01, 02)
|
|
time_3 = Time.zone.local(2015, 01, 03)
|
|
|
|
create :ahoy_event, name: "foo", time: time_1
|
|
create :ahoy_event, name: "foo", time: time_1
|
|
create :ahoy_event, name: "foo", time: time_2
|
|
create :ahoy_event, name: "bar", time: time_1
|
|
create :ahoy_event, name: "bar", time: time_3
|
|
create :ahoy_event, name: "bar", time: time_3
|
|
end
|
|
|
|
it "works without data sources" do
|
|
ds = Ahoy::DataSource.new
|
|
expect(ds.build).to eq x: []
|
|
end
|
|
|
|
it "works with single data sources" do
|
|
ds = Ahoy::DataSource.new
|
|
ds.add "foo", Ahoy::Event.where(name: "foo").group_by_day(:time).count
|
|
expect(ds.build).to eq :x => ["2015-01-01", "2015-01-02"], "foo" => [2, 1]
|
|
end
|
|
|
|
it "combines data sources" do
|
|
ds = Ahoy::DataSource.new
|
|
ds.add "foo", Ahoy::Event.where(name: "foo").group_by_day(:time).count
|
|
ds.add "bar", Ahoy::Event.where(name: "bar").group_by_day(:time).count
|
|
expect(ds.build).to eq :x => ["2015-01-01", "2015-01-02", "2015-01-03"], "foo" => [2, 1, 0], "bar" => [1, 0, 2]
|
|
end
|
|
end
|
|
end
|