34 lines
1.0 KiB
Ruby
34 lines
1.0 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
|
|
RSpec.describe ProductAnalytics::BuildActivityGraphService do
|
|
let_it_be(:project) { create(:project) }
|
|
let_it_be(:time_now) { Time.zone.now }
|
|
let_it_be(:time_ago) { Time.zone.now - 5.days }
|
|
|
|
let_it_be(:events) do
|
|
[
|
|
create(:product_analytics_event, project: project, collector_tstamp: time_now),
|
|
create(:product_analytics_event, project: project, collector_tstamp: time_now),
|
|
create(:product_analytics_event, project: project, collector_tstamp: time_now),
|
|
create(:product_analytics_event, project: project, collector_tstamp: time_ago),
|
|
create(:product_analytics_event, project: project, collector_tstamp: time_ago)
|
|
]
|
|
end
|
|
|
|
let(:params) { { timerange: 7 } }
|
|
|
|
subject { described_class.new(project, params).execute }
|
|
|
|
it 'returns a valid graph hash' do
|
|
expected_hash = {
|
|
id: 'collector_tstamp',
|
|
keys: [time_ago.to_date, time_now.to_date],
|
|
values: [2, 3]
|
|
}
|
|
|
|
expect(subject).to eq(expected_hash)
|
|
end
|
|
end
|