forest_liana 1.3.10 → 1.3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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