Skip to content

Commit 2de4c83

Browse files
authored
fix(charts): remove any sort on chart and remove default join behaviour on line chart (#588)
1 parent b09ca89 commit 2de4c83

File tree

4 files changed

+26
-1
lines changed

4 files changed

+26
-1
lines changed

app/services/forest_liana/line_stat_getter.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def get_format
2323
end
2424

2525
def perform
26-
value = get_resource().joins(@includes)
26+
value = get_resource()
2727

2828
filters = ForestLiana::ScopeManager.append_scope_for_user(@params[:filters], @user, @resource.name)
2929

app/services/forest_liana/stat_getter.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,11 @@ def initialize(resource, params, forest_user)
88
@user = forest_user
99
compute_includes()
1010
end
11+
12+
def get_resource
13+
super
14+
@resource.reorder('')
15+
end
16+
1117
end
1218
end

spec/dummy/app/models/owner.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
class Owner < ActiveRecord::Base
22
has_many :trees
3+
4+
default_scope { order('hired_at ASC') }
35
end

spec/services/forest_liana/line_stat_getter_spec.rb

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ module ForestLiana
77
before(:each) do
88
ForestLiana::ScopeManager.invalidate_scope_cache(rendering_id)
99
allow(ForestLiana::ScopeManager).to receive(:fetch_scopes).and_return(scopes)
10+
Owner.delete_all
1011
end
1112

1213
describe 'Check client_timezone function' do
@@ -54,5 +55,21 @@ module ForestLiana
5455
end
5556
end
5657
end
58+
59+
describe 'Check new instance function' do
60+
describe 'Using a Count aggregation' do
61+
it 'should remove any order to the resource' do
62+
Owner.create(name: 'Shuri', hired_at: Date.parse('09-11-2022'));
63+
stat = LineStatGetter.new(Owner, {
64+
timezone: "Europe/Paris",
65+
aggregate: "Count",
66+
time_range: "Day",
67+
group_by_date_field: "hired_at",
68+
}, user)
69+
70+
expect(stat.get_resource.where(name: "Shuri").to_sql.downcase.exclude? "order by").to be true
71+
end
72+
end
73+
end
5774
end
5875
end

0 commit comments

Comments
 (0)