forest_liana 1.3.10 → 1.3.11

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,17 @@
1
+ owner_1:
2
+ id: 1
3
+ name: Sandro Munda
4
+ created_at: 2015-05-30 09:00:00
5
+ updated_at: 2016-06-27 20:00:00
6
+
7
+ owner_2:
8
+ id: 2
9
+ name: Arnaud Besnier
10
+ created_at: 2016-05-02 09:00:00
11
+ updated_at: 2016-06-28 08:00:00
12
+
13
+ owner_3:
14
+ id: 3
15
+ name: John Doe
16
+ created_at: 2014-05-02 09:00:00
17
+ updated_at: 2015-06-28 08:00:00
@@ -0,0 +1,34 @@
1
+ tree_1:
2
+ id: 1
3
+ name: Oak
4
+ owner_id: 1
5
+ created_at: 2010-02-11 11:00:00
6
+ updated_at: 2010-02-11 11:00:00
7
+
8
+ tree_2:
9
+ id: 2
10
+ name: Mapple
11
+ owner_id: 2
12
+ created_at: 2010-02-15 21:00:00
13
+ updated_at: 2010-02-15 21:00:00
14
+
15
+ tree_3:
16
+ id: 3
17
+ name: Mapple
18
+ owner_id: 2
19
+ created_at: 2012-04-11 12:00:00
20
+ updated_at: 2012-04-11 12:00:00
21
+
22
+ tree_4:
23
+ id: 4
24
+ name: Oak
25
+ owner_id: 2
26
+ created_at: 2015-06-18 09:00:00
27
+ updated_at: 2015-06-18 09:00:00
28
+
29
+ tree_5:
30
+ id: 5
31
+ name: Oak
32
+ owner_id: 3
33
+ created_at: 2014-06-18 09:00:00
34
+ updated_at: 2014-06-18 09:00:00
@@ -74,5 +74,72 @@ module ForestLiana
74
74
  assert records.first.belongs_to_field.id == 30
75
75
  assert records.last.belongs_to_field.id == 21
76
76
  end
77
+
78
+ test 'Filter on ambiguous field' do
79
+ getter = ResourcesGetter.new(Tree, {
80
+ page: { size: 10, number: 1 },
81
+ filter: {
82
+ 'created_at' => '>2015-06-18 08:00:00',
83
+ 'owner:name' => 'Arnaud Besnier'
84
+ }
85
+ })
86
+ getter.perform
87
+ records = getter.records
88
+ count = getter.count
89
+
90
+ assert records.count == 1
91
+ assert count = 1
92
+ assert records.first.id == 4
93
+ assert records.first.name == 'Oak'
94
+ assert records.first.owner.name == 'Arnaud Besnier'
95
+ end
96
+
97
+ test 'Sort on an ambiguous field name with a filter' do
98
+ getter = ResourcesGetter.new(Tree, {
99
+ page: { size: 10, number: 1 },
100
+ sort: '-name',
101
+ filter: { 'owner:name' => 'Arnaud Besnier' }
102
+ })
103
+ getter.perform
104
+ records = getter.records
105
+ count = getter.count
106
+
107
+ assert records.count == 3
108
+ assert count = 3
109
+ assert records.first.name == 'Oak'
110
+ assert records.last.name == 'Mapple'
111
+ end
112
+
113
+ test 'Filter on an updated_at field of the main collection' do
114
+ getter = ResourcesGetter.new(Owner, {
115
+ page: { size: 10, number: 1 },
116
+ filter: {
117
+ 'updated_at' => '<lastYear',
118
+ }
119
+ })
120
+ getter.perform
121
+ records = getter.records
122
+ count = getter.count
123
+
124
+ assert records.count == 1
125
+ assert count = 1
126
+ assert records.first.id == 3
127
+ end
128
+
129
+ test 'Filter on an updated_at field of an associated collection' do
130
+ getter = ResourcesGetter.new(Tree, {
131
+ page: { size: 10, number: 1 },
132
+ filter: {
133
+ 'owner:updated_at' => '<lastYear',
134
+ }
135
+ })
136
+ getter.perform
137
+ records = getter.records
138
+ count = getter.count
139
+
140
+ assert records.count == 1
141
+ assert count = 1
142
+ assert records.first.id == 5
143
+ end
77
144
  end
78
145
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: forest_liana
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.10
4
+ version: 1.3.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sandro Munda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-28 00:00:00.000000000 Z
11
+ date: 2016-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -209,8 +209,10 @@ files:
209
209
  - test/dummy/app/models/has_many_through_field.rb
210
210
  - test/dummy/app/models/has_one_field.rb
211
211
  - test/dummy/app/models/integer_field.rb
212
+ - test/dummy/app/models/owner.rb
212
213
  - test/dummy/app/models/polymorphic_field.rb
213
214
  - test/dummy/app/models/string_field.rb
215
+ - test/dummy/app/models/tree.rb
214
216
  - test/dummy/app/views/layouts/application.html.erb
215
217
  - test/dummy/bin/bundle
216
218
  - test/dummy/bin/rails
@@ -249,6 +251,9 @@ files:
249
251
  - test/dummy/db/migrate/20150616150629_create_polymorphic_field.rb
250
252
  - test/dummy/db/migrate/20150623115554_create_has_many_class_name_field.rb
251
253
  - test/dummy/db/migrate/20150814081918_create_has_many_through_field.rb
254
+ - test/dummy/db/migrate/20160627172810_create_owner.rb
255
+ - test/dummy/db/migrate/20160627172951_create_tree.rb
256
+ - test/dummy/db/migrate/20160628173505_add_timestamps.rb
252
257
  - test/dummy/db/schema.rb
253
258
  - test/dummy/db/test.sqlite3
254
259
  - test/dummy/log/development.log
@@ -261,7 +266,9 @@ files:
261
266
  - test/fixtures/has_many_field.yml
262
267
  - test/fixtures/has_many_through_field.yml
263
268
  - test/fixtures/has_one_field.yml
269
+ - test/fixtures/owner.yml
264
270
  - test/fixtures/string_field.yml
271
+ - test/fixtures/tree.yml
265
272
  - test/forest_liana_test.rb
266
273
  - test/integration/navigation_test.rb
267
274
  - test/services/forest_liana/resources_getter_test.rb
@@ -308,8 +315,10 @@ test_files:
308
315
  - test/dummy/app/models/has_many_through_field.rb
309
316
  - test/dummy/app/models/has_one_field.rb
310
317
  - test/dummy/app/models/integer_field.rb
318
+ - test/dummy/app/models/owner.rb
311
319
  - test/dummy/app/models/polymorphic_field.rb
312
320
  - test/dummy/app/models/string_field.rb
321
+ - test/dummy/app/models/tree.rb
313
322
  - test/dummy/app/views/layouts/application.html.erb
314
323
  - test/dummy/bin/bundle
315
324
  - test/dummy/bin/rails
@@ -348,6 +357,9 @@ test_files:
348
357
  - test/dummy/db/migrate/20150616150629_create_polymorphic_field.rb
349
358
  - test/dummy/db/migrate/20150623115554_create_has_many_class_name_field.rb
350
359
  - test/dummy/db/migrate/20150814081918_create_has_many_through_field.rb
360
+ - test/dummy/db/migrate/20160627172810_create_owner.rb
361
+ - test/dummy/db/migrate/20160627172951_create_tree.rb
362
+ - test/dummy/db/migrate/20160628173505_add_timestamps.rb
351
363
  - test/dummy/db/schema.rb
352
364
  - test/dummy/db/test.sqlite3
353
365
  - test/dummy/log/development.log
@@ -362,7 +374,9 @@ test_files:
362
374
  - test/fixtures/has_many_field.yml
363
375
  - test/fixtures/has_many_through_field.yml
364
376
  - test/fixtures/has_one_field.yml
377
+ - test/fixtures/owner.yml
365
378
  - test/fixtures/string_field.yml
379
+ - test/fixtures/tree.yml
366
380
  - test/forest_liana_test.rb
367
381
  - test/integration/navigation_test.rb
368
382
  - test/services/forest_liana/resources_getter_test.rb