Files
grecia/spec/models/ahoy/data_source_spec.rb
Javi Martín a1439d0790 Apply Layout/LineLength rubocop rule
Note we're excluding a few files:

* Configuration files that weren't generated by us
* Migration files that weren't generated by us
* The Gemfile, since it includes an important comment that must be on
  the same line as the gem declaration
* The Budget::Stats class, since the heading statistics are a mess and
  having shorter lines would require a lot of refactoring
2023-08-30 14:46:35 +02:00

39 lines
1.3 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