Sha256: 2d9f8ef5fac310e29cd217ea7d20bfcf3be1b2fd25f0f6f459200e56f5d19274
Contents?: true
Size: 1.5 KB
Versions: 3
Compression:
Stored size: 1.5 KB
Contents
require "spec_helper" describe ActiveReporter::Serializer::HashTable do let(:report_model) do Class.new(ActiveReporter::Report) do report_on :Post number_dimension :likes time_dimension :created_at category_dimension :title count_aggregator :post_count sum_aggregator :likes_count, attribute: :likes end end let(:report) do report_model.new( aggregators: [:post_count, :likes_count], groupers: %i[title created_at], dimensions: { created_at: { bin_width: "1 day" } } ) end let(:hash_table) do ActiveReporter::Serializer::HashTable.new(report) end before do create(:post, created_at: "2016-01-01", likes: 2, title: "A") create(:post, created_at: "2016-01-01", likes: 2, title: "A") create(:post, created_at: "2016-01-01", likes: 1, title: "B") create(:post, created_at: "2016-01-02", likes: 1, title: "A") end describe "#report" do it "builds report" do expect(hash_table.table).to eq [ { title: "Title", created_at: "Created at", post_count: "Post count", likes_count: "Likes count" }, { title: "A", created_at: "2016-01-01 00:00:00 UTC", post_count: "2", likes_count: "4" }, { title: "A", created_at: "2016-01-02 00:00:00 UTC", post_count: "1", likes_count: "1" }, { title: "B", created_at: "2016-01-01 00:00:00 UTC", post_count: "1", likes_count: "1" }, { title: "B", created_at: "2016-01-02 00:00:00 UTC", post_count: "0", likes_count: "0" } ] end end end
Version data entries
3 entries across 3 versions & 1 rubygems