Skip to content

Commit 9132153

Browse files
authored
DEV: Fix spec regressions caused by test-prof change (#326)
The change in question: test-prof/test-prof@e6a3483
1 parent 3f96352 commit 9132153

File tree

2 files changed

+40
-9
lines changed

2 files changed

+40
-9
lines changed

app/models/discourse_data_explorer/query.rb

+23-9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
# frozen_string_literal: true
22

33
module ::DiscourseDataExplorer
4+
class QueryFinder
5+
def self.find(id)
6+
default_query = Queries.default[id.to_s]
7+
return raise ActiveRecord::RecordNotFound unless default_query
8+
9+
query = Query.find_by(id: id) || Query.new
10+
query.attributes = default_query
11+
query.user_id = Discourse::SYSTEM_USER_ID.to_s
12+
query
13+
end
14+
end
15+
416
class Query < ActiveRecord::Base
517
self.table_name = "data_explorer_queries"
618

@@ -35,15 +47,17 @@ def slug
3547
end
3648

3749
def self.find(id)
38-
if id.to_i < 0
39-
default_query = Queries.default[id.to_s]
40-
return raise ActiveRecord::RecordNotFound unless default_query
41-
query = Query.find_by(id: id) || Query.new
42-
query.attributes = default_query
43-
query.user_id = Discourse::SYSTEM_USER_ID.to_s
44-
query
45-
else
46-
super
50+
return super if id.to_i >= 0
51+
QueryFinder.find(id)
52+
end
53+
54+
private
55+
56+
# for `Query.unscoped.find`
57+
class ActiveRecord_Relation
58+
def find(id)
59+
return super if id.to_i >= 0
60+
QueryFinder.find(id)
4761
end
4862
end
4963
end

spec/models/query_spec.rb

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# frozen_string_literal: true
2+
3+
RSpec.describe DiscourseDataExplorer::Query do
4+
before { SiteSetting.data_explorer_enabled = true }
5+
6+
describe ".find" do
7+
it "returns default queries" do
8+
expect(DiscourseDataExplorer::Query.find(-1)).to be_present
9+
end
10+
end
11+
12+
describe "unscoped .find" do
13+
it "returns default queries" do
14+
expect(DiscourseDataExplorer::Query.unscoped.find(-1)).to be_present
15+
end
16+
end
17+
end

0 commit comments

Comments
 (0)