Update `Admin::Metrics::Measure` classes for Rails 7 (#25236)
parent
e428670e61
commit
af135bddd0
25 changed files with 307 additions and 117 deletions
@ -0,0 +1,25 @@ |
||||
# frozen_string_literal: true |
||||
|
||||
module Admin::Metrics::Measure::QueryHelper |
||||
protected |
||||
|
||||
def perform_data_query |
||||
measurement_data_rows.map { |row| { date: row['period'], value: row['value'].to_s } } |
||||
end |
||||
|
||||
def measurement_data_rows |
||||
ActiveRecord::Base.connection.select_all(sanitized_sql_string) |
||||
end |
||||
|
||||
def sanitized_sql_string |
||||
ActiveRecord::Base.sanitize_sql_array(sql_array) |
||||
end |
||||
|
||||
def account_domain_sql(include_subdomains) |
||||
if include_subdomains |
||||
"accounts.domain IN (SELECT domain FROM instances WHERE reverse('.' || domain) LIKE reverse('.' || :domain::text))" |
||||
else |
||||
'accounts.domain = :domain::text' |
||||
end |
||||
end |
||||
end |
@ -0,0 +1,17 @@ |
||||
# frozen_string_literal: true |
||||
|
||||
require 'rails_helper' |
||||
|
||||
describe Admin::Metrics::Measure::ActiveUsersMeasure do |
||||
subject(:measure) { described_class.new(start_at, end_at, params) } |
||||
|
||||
let(:start_at) { 2.days.ago } |
||||
let(:end_at) { Time.now.utc } |
||||
let(:params) { ActionController::Parameters.new } |
||||
|
||||
describe '#data' do |
||||
it 'runs data query without error' do |
||||
expect { measure.data }.to_not raise_error |
||||
end |
||||
end |
||||
end |
@ -0,0 +1,17 @@ |
||||
# frozen_string_literal: true |
||||
|
||||
require 'rails_helper' |
||||
|
||||
describe Admin::Metrics::Measure::InteractionsMeasure do |
||||
subject(:measure) { described_class.new(start_at, end_at, params) } |
||||
|
||||
let(:start_at) { 2.days.ago } |
||||
let(:end_at) { Time.now.utc } |
||||
let(:params) { ActionController::Parameters.new } |
||||
|
||||
describe '#data' do |
||||
it 'runs data query without error' do |
||||
expect { measure.data }.to_not raise_error |
||||
end |
||||
end |
||||
end |
@ -0,0 +1,17 @@ |
||||
# frozen_string_literal: true |
||||
|
||||
require 'rails_helper' |
||||
|
||||
describe Admin::Metrics::Measure::NewUsersMeasure do |
||||
subject(:measure) { described_class.new(start_at, end_at, params) } |
||||
|
||||
let(:start_at) { 2.days.ago } |
||||
let(:end_at) { Time.now.utc } |
||||
let(:params) { ActionController::Parameters.new } |
||||
|
||||
describe '#data' do |
||||
it 'runs data query without error' do |
||||
expect { measure.data }.to_not raise_error |
||||
end |
||||
end |
||||
end |
@ -0,0 +1,17 @@ |
||||
# frozen_string_literal: true |
||||
|
||||
require 'rails_helper' |
||||
|
||||
describe Admin::Metrics::Measure::OpenedReportsMeasure do |
||||
subject(:measure) { described_class.new(start_at, end_at, params) } |
||||
|
||||
let(:start_at) { 2.days.ago } |
||||
let(:end_at) { Time.now.utc } |
||||
let(:params) { ActionController::Parameters.new } |
||||
|
||||
describe '#data' do |
||||
it 'runs data query without error' do |
||||
expect { measure.data }.to_not raise_error |
||||
end |
||||
end |
||||
end |
@ -0,0 +1,17 @@ |
||||
# frozen_string_literal: true |
||||
|
||||
require 'rails_helper' |
||||
|
||||
describe Admin::Metrics::Measure::ResolvedReportsMeasure do |
||||
subject(:measure) { described_class.new(start_at, end_at, params) } |
||||
|
||||
let(:start_at) { 2.days.ago } |
||||
let(:end_at) { Time.now.utc } |
||||
let(:params) { ActionController::Parameters.new } |
||||
|
||||
describe '#data' do |
||||
it 'runs data query without error' do |
||||
expect { measure.data }.to_not raise_error |
||||
end |
||||
end |
||||
end |
@ -0,0 +1,19 @@ |
||||
# frozen_string_literal: true |
||||
|
||||
require 'rails_helper' |
||||
|
||||
describe Admin::Metrics::Measure::TagAccountsMeasure do |
||||
subject(:measure) { described_class.new(start_at, end_at, params) } |
||||
|
||||
let!(:tag) { Fabricate(:tag) } |
||||
|
||||
let(:start_at) { 2.days.ago } |
||||
let(:end_at) { Time.now.utc } |
||||
let(:params) { ActionController::Parameters.new(id: tag.id) } |
||||
|
||||
describe '#data' do |
||||
it 'runs data query without error' do |
||||
expect { measure.data }.to_not raise_error |
||||
end |
||||
end |
||||
end |
@ -0,0 +1,19 @@ |
||||
# frozen_string_literal: true |
||||
|
||||
require 'rails_helper' |
||||
|
||||
describe Admin::Metrics::Measure::TagServersMeasure do |
||||
subject(:measure) { described_class.new(start_at, end_at, params) } |
||||
|
||||
let!(:tag) { Fabricate(:tag) } |
||||
|
||||
let(:start_at) { 2.days.ago } |
||||
let(:end_at) { Time.now.utc } |
||||
let(:params) { ActionController::Parameters.new(id: tag.id) } |
||||
|
||||
describe '#data' do |
||||
it 'runs data query without error' do |
||||
expect { measure.data }.to_not raise_error |
||||
end |
||||
end |
||||
end |
@ -0,0 +1,19 @@ |
||||
# frozen_string_literal: true |
||||
|
||||
require 'rails_helper' |
||||
|
||||
describe Admin::Metrics::Measure::TagUsesMeasure do |
||||
subject(:measure) { described_class.new(start_at, end_at, params) } |
||||
|
||||
let!(:tag) { Fabricate(:tag) } |
||||
|
||||
let(:start_at) { 2.days.ago } |
||||
let(:end_at) { Time.now.utc } |
||||
let(:params) { ActionController::Parameters.new(id: tag.id) } |
||||
|
||||
describe '#data' do |
||||
it 'runs data query without error' do |
||||
expect { measure.data }.to_not raise_error |
||||
end |
||||
end |
||||
end |
Loading…
Reference in new issue