shamu 0.0.13 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +55 -20
  3. data/Gemfile +3 -3
  4. data/Gemfile.lock +13 -11
  5. data/circle.yml +1 -1
  6. data/lib/shamu/attributes/assignment.rb +44 -5
  7. data/lib/shamu/attributes/camel_case.rb +21 -0
  8. data/lib/shamu/attributes/validation.rb +13 -1
  9. data/lib/shamu/attributes/validators/valid_validator.rb +14 -0
  10. data/lib/shamu/attributes/validators.rb +7 -0
  11. data/lib/shamu/attributes.rb +13 -8
  12. data/lib/shamu/auditing/auditing_service.rb +1 -5
  13. data/lib/shamu/auditing/support.rb +14 -2
  14. data/lib/shamu/entities/active_record.rb +16 -2
  15. data/lib/shamu/entities/active_record_soft_destroy.rb +7 -3
  16. data/lib/shamu/entities/entity.rb +1 -1
  17. data/lib/shamu/entities/entity_lookup_service.rb +137 -0
  18. data/lib/shamu/entities/entity_path.rb +6 -9
  19. data/lib/shamu/entities/list.rb +8 -2
  20. data/lib/shamu/entities/list_scope/paging.rb +3 -3
  21. data/lib/shamu/entities/list_scope/sorting.rb +21 -2
  22. data/lib/shamu/entities/list_scope/window_paging.rb +96 -0
  23. data/lib/shamu/entities/list_scope.rb +2 -2
  24. data/lib/shamu/entities/opaque_entity_lookup_service.rb +59 -0
  25. data/lib/shamu/entities/opaque_id.rb +54 -0
  26. data/lib/shamu/entities/paged_list.rb +137 -0
  27. data/lib/shamu/entities.rb +5 -1
  28. data/lib/shamu/events/active_record/service.rb +1 -2
  29. data/lib/shamu/events/in_memory/service.rb +1 -2
  30. data/lib/shamu/features/conditions/percentage.rb +3 -3
  31. data/lib/shamu/features/features_service.rb +2 -2
  32. data/lib/shamu/features/toggle.rb +2 -3
  33. data/lib/shamu/json_api/context.rb +0 -1
  34. data/lib/shamu/json_api/rails/controller.rb +0 -2
  35. data/lib/shamu/rails/controller.rb +0 -1
  36. data/lib/shamu/rails/entity.rb +1 -1
  37. data/lib/shamu/security/policy.rb +1 -2
  38. data/lib/shamu/services/active_record.rb +16 -0
  39. data/lib/shamu/services/active_record_crud.rb +32 -22
  40. data/lib/shamu/services/lazy_transform.rb +31 -0
  41. data/lib/shamu/services/request_support.rb +3 -2
  42. data/lib/shamu/services/service.rb +11 -3
  43. data/lib/shamu/to_model_id_extension.rb +2 -1
  44. data/lib/shamu/version.rb +2 -1
  45. data/shamu.gemspec +2 -1
  46. data/spec/lib/shamu/active_record_support.rb +6 -0
  47. data/spec/lib/shamu/attributes/assignment_spec.rb +69 -5
  48. data/spec/lib/shamu/attributes/camel_case_spec.rb +33 -0
  49. data/spec/lib/shamu/attributes/validation_spec.rb +9 -1
  50. data/spec/lib/shamu/attributes_spec.rb +4 -0
  51. data/spec/lib/shamu/entities/active_record_spec.rb +27 -0
  52. data/spec/lib/shamu/entities/entity_lookup_models.rb +11 -0
  53. data/spec/lib/shamu/entities/entity_lookup_service_spec.rb +77 -0
  54. data/spec/lib/shamu/entities/entity_path_spec.rb +3 -4
  55. data/spec/lib/shamu/entities/list_scope/paging_spec.rb +7 -3
  56. data/spec/lib/shamu/entities/list_scope/sorting_spec.rb +1 -7
  57. data/spec/lib/shamu/entities/opaque_entity_lookup_service_spec.rb +39 -0
  58. data/spec/lib/shamu/entities/opaque_id_spec.rb +30 -0
  59. data/spec/lib/shamu/entities/paged_list_spec.rb +170 -0
  60. data/spec/lib/shamu/services/active_record_crud_spec.rb +10 -1
  61. data/spec/lib/shamu/services/lazy_transform_spec.rb +14 -0
  62. data/spec/lib/shamu/to_model_id_extension_spec.rb +5 -1
  63. data/spec/support/active_record.rb +1 -1
  64. metadata +24 -4
@@ -7,7 +7,6 @@ module EntityPathSpec
7
7
  end
8
8
 
9
9
  describe Shamu::Entities::EntityPath do
10
- include Shamu::Entities::EntityPath
11
10
 
12
11
  {
13
12
  "User[45]/Calendar[567]/Event[1]" => [
@@ -19,7 +18,7 @@ describe Shamu::Entities::EntityPath do
19
18
  "EntityPathSpec::Example[91]" => [ [ "EntityPathSpec::Example", "91" ] ]
20
19
  }.each do |path, entities|
21
20
  it "decompose #{ path } to #{ entities }" do
22
- expect( decompose_entity_path( path ) ).to eq entities
21
+ expect( Shamu::Entities::EntityPath.decompose_entity_path( path ) ).to eq entities
23
22
  end
24
23
  end
25
24
 
@@ -34,7 +33,7 @@ describe Shamu::Entities::EntityPath do
34
33
  "EntityPathSpec::Example[91]" => [ EntityPathSpec::ExampleEntity.new( id: 91 ) ]
35
34
  }.each do |path, entities|
36
35
  it "composes #{ entities } to #{ path }" do
37
- expect( compose_entity_path( entities ) ).to eq path
36
+ expect( Shamu::Entities::EntityPath.compose_entity_path( entities ) ).to eq path
38
37
  end
39
38
  end
40
- end
39
+ end
@@ -21,11 +21,15 @@ describe Shamu::Entities::ListScope::Paging do
21
21
  end
22
22
 
23
23
  it "uses default_per_page if not per_page set" do
24
- expect( klass.new.per_page ).to eq 25
24
+ scope = klass.new
25
+ scope.default_per_page = 25
26
+ expect( scope.per_page ).to eq 25
25
27
  end
26
28
 
27
29
  it "includes paging values in to_param" do
28
- expect( klass.new.params ).to eq page: nil, per_page: 25
30
+ scope = klass.new
31
+ scope.default_per_page = 25
32
+ expect( scope.params ).to eq page: nil, per_page: 25
29
33
  end
30
34
 
31
35
  it "should not be paged if using defaults" do
@@ -38,4 +42,4 @@ describe Shamu::Entities::ListScope::Paging do
38
42
  expect( scope.paged? ).to be_truthy
39
43
  end
40
44
 
41
- end
45
+ end
@@ -18,12 +18,6 @@ describe Shamu::Entities::ListScope::Paging do
18
18
  expect( scope.sort_by ).to eq first_name: :asc, last_name: :asc
19
19
  end
20
20
 
21
- it "parses array of args to fluid_assignment" do
22
- scope = klass.new
23
- scope.sort_by :first_name, :last_name
24
- expect( scope.sort_by ).to eq first_name: :asc, last_name: :asc
25
- end
26
-
27
21
  it "parses array via assignment" do
28
22
  scope = klass.new
29
23
  scope.sort_by = [ :first_name, :last_name ]
@@ -56,4 +50,4 @@ describe Shamu::Entities::ListScope::Paging do
56
50
  it "is sorted when asked" do
57
51
  expect( klass.new( sort_by: :name ).sorted? ).to be_truthy
58
52
  end
59
- end
53
+ end
@@ -0,0 +1,39 @@
1
+ require "spec_helper"
2
+ require_relative "entity_lookup_models"
3
+
4
+ describe Shamu::Entities::OpaqueEntityLookupService do
5
+ let( :service ) { scorpion.new Shamu::Entities::OpaqueEntityLookupService }
6
+
7
+ describe "#ids" do
8
+ it "obfuscates the ids" do
9
+ entity = EntityLookupServiceSpecs::ExampleEntity.new( id: 5 )
10
+ expect( service.ids( entity ) ).not_to include( match( /EntityLookupServiceSpecs/ ) )
11
+ end
12
+ end
13
+
14
+ describe "#record_ids" do
15
+ it "gets the original record id" do
16
+ entity = EntityLookupServiceSpecs::ExampleEntity.new( id: 5 )
17
+ id = service.ids( entity ).first
18
+
19
+ expect( service.record_ids( id ).first ).to eq( 5 )
20
+ end
21
+ end
22
+
23
+ describe "#lookup" do
24
+ let( :examples_service ) { double( EntityLookupServiceSpecs::ExamplesService ) }
25
+
26
+ before( :each ) do
27
+ allow( service.scorpion ).to receive( :fetch )
28
+ .with( EntityLookupServiceSpecs::ExamplesService )
29
+ .and_return( examples_service )
30
+ end
31
+
32
+ it "finds an entity" do
33
+ expect( examples_service ).to receive( :lookup ).with( "4" ).and_return [ "Found" ]
34
+ id = service.ids( "EntityLookupServiceSpecs::Example[4]" ).first
35
+
36
+ expect( service.lookup( id ).to_a ).to eq [ "Found" ]
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,30 @@
1
+ require "spec_helper"
2
+
3
+ describe Shamu::Entities::OpaqueId do
4
+
5
+ describe ".to_model_id" do
6
+ it "gets the encoded id for a valid opaque id" do
7
+ # Patients::Patient[1]
8
+ expect( Shamu::Entities::OpaqueId.to_model_id( "::UGF0aWVudHM6OlBhdGllbnRbMV0=" ) ).to eq 1
9
+ end
10
+
11
+ it "is int for raw ids" do
12
+ expect( Shamu::Entities::OpaqueId.to_model_id( "23" ) ).to eq 23
13
+ end
14
+ end
15
+
16
+ describe ".opaque_id?" do
17
+ it "recognizes encoded ids" do
18
+ expect( Shamu::Entities::OpaqueId.opaque_id?( "::UGF0aWVudHM6OlBhdGllbnRbMV0=" ) ).to be_truthy
19
+ end
20
+
21
+ it "does not recognize raw numbers" do
22
+ expect( Shamu::Entities::OpaqueId.opaque_id?( "123" ) ).to be_falsy
23
+ end
24
+
25
+ it "does not recognize base64 encoded" do
26
+ expect( Shamu::Entities::OpaqueId.opaque_id?( "UGF0aWVudHM6OlBhdGllbnRbMV0=" ) ).to be_falsy
27
+ end
28
+ end
29
+
30
+ end
@@ -0,0 +1,170 @@
1
+ require "spec_helper"
2
+ require "active_record"
3
+ require "lib/shamu/active_record_support"
4
+
5
+ module PagedListSpec
6
+ class Scope < ::ActiveRecordSpec::FavoriteScope
7
+ include Shamu::Entities::ListScope::Paging
8
+ end
9
+ end
10
+
11
+ describe Shamu::Entities::PagedList do
12
+ use_active_record
13
+
14
+ let( :relation ) do
15
+ scope = PagedListSpec::Scope.new( per_page: 10 )
16
+ ActiveRecordSpec::Favorite.by_list_scope( scope )
17
+ end
18
+
19
+ let( :transform ) do
20
+ Shamu::Services::LazyTransform.new( relation ) do |records|
21
+ records.map do |record|
22
+ ActiveRecordSpec::FavoriteEntity.new( record: record )
23
+ end
24
+ end
25
+ end
26
+
27
+ describe "#total_count" do
28
+ it "delegates to underlying relation" do
29
+ list = Shamu::Entities::PagedList.new( transform )
30
+
31
+ expect( relation ).to receive( :total_count )
32
+ list.total_count
33
+ end
34
+
35
+ it "uses absolute value" do
36
+ list = Shamu::Entities::PagedList.new( transform, total_count: 23 )
37
+
38
+ expect( list.total_count ).to eq 23
39
+ end
40
+
41
+ it "invokes block" do
42
+ expect do |b|
43
+ list = Shamu::Entities::PagedList.new( transform, total_count: b.to_proc )
44
+ list.total_count
45
+ end.to yield_control
46
+ end
47
+ end
48
+
49
+ describe "#limit" do
50
+
51
+ it "delegates to underlying relation" do
52
+ list = Shamu::Entities::PagedList.new( transform )
53
+
54
+ expect( relation ).to receive( :limit_value )
55
+ list.limit
56
+ end
57
+
58
+ it "uses absolute value" do
59
+ list = Shamu::Entities::PagedList.new( transform, limit: 23 )
60
+
61
+ expect( list.limit ).to eq 23
62
+ end
63
+
64
+ it "invokes block" do
65
+ expect do |b|
66
+ list = Shamu::Entities::PagedList.new( transform, limit: b.to_proc )
67
+ list.limit
68
+ end.to yield_control
69
+ end
70
+
71
+ end
72
+
73
+ describe "#offset" do
74
+
75
+ it "delegates to underlying relation" do
76
+ list = Shamu::Entities::PagedList.new( transform )
77
+
78
+ expect( relation ).to receive( :offset_value )
79
+ list.offset
80
+ end
81
+
82
+ it "uses absolute value" do
83
+ list = Shamu::Entities::PagedList.new( transform, offset: 23 )
84
+
85
+ expect( list.offset ).to eq 23
86
+ end
87
+
88
+ it "invokes block" do
89
+ expect do |b|
90
+ list = Shamu::Entities::PagedList.new( transform, offset: b.to_proc )
91
+ list.offset
92
+ end.to yield_control
93
+ end
94
+
95
+ end
96
+
97
+ describe "#next?" do
98
+
99
+ it "delegates to underlying relation has_next?" do
100
+ list = Shamu::Entities::PagedList.new( transform )
101
+
102
+ expect( relation ).to receive( :has_next? )
103
+ list.next?
104
+ end
105
+
106
+ it "delegates to underlying relation last_page?" do
107
+ list = Shamu::Entities::PagedList.new( transform )
108
+
109
+ expect( relation ).to receive( :last_page? )
110
+ list.next?
111
+ end
112
+
113
+ it "uses absolute value" do
114
+ list = Shamu::Entities::PagedList.new( transform, has_next: true )
115
+
116
+ expect( list.next? ).to be_truthy
117
+ end
118
+
119
+ it "invokes block" do
120
+ expect do |b|
121
+ list = Shamu::Entities::PagedList.new( transform, has_next: b.to_proc )
122
+ list.next?
123
+ end.to yield_control
124
+ end
125
+
126
+ end
127
+
128
+ describe "#previous?" do
129
+
130
+ it "delegates to underlying relation has_previous?" do
131
+ list = Shamu::Entities::PagedList.new( transform )
132
+
133
+ expect( relation ).to receive( :has_previous? )
134
+ list.previous?
135
+ end
136
+
137
+ it "delegates to underlying relation last_page?" do
138
+ list = Shamu::Entities::PagedList.new( transform )
139
+
140
+ expect( relation ).to receive( :first_page? )
141
+ list.previous?
142
+ end
143
+
144
+ it "uses absolute value" do
145
+ list = Shamu::Entities::PagedList.new( transform, has_previous: true )
146
+
147
+ expect( list.previous? ).to be_truthy
148
+ end
149
+
150
+ it "invokes block" do
151
+ expect do |b|
152
+ list = Shamu::Entities::PagedList.new( transform, has_previous: b.to_proc )
153
+ list.previous?
154
+ end.to yield_control
155
+ end
156
+
157
+ end
158
+
159
+ describe "current_page" do
160
+ it "calculates page" do
161
+ list = Shamu::Entities::PagedList.new( transform, limit: 5, offset: 15 )
162
+ expect( list.current_page ).to eq 4
163
+ end
164
+
165
+ it "calculates page with padding" do
166
+ list = Shamu::Entities::PagedList.new( transform, limit: 5, offset: 16 )
167
+ expect( list.current_page ).to eq 4
168
+ end
169
+ end
170
+ end
@@ -23,6 +23,10 @@ module ActiveRecordCrudSpec
23
23
  attribute :id
24
24
  end
25
25
 
26
+ class Destroy < Change
27
+ attribute :id
28
+ end
29
+
26
30
  end
27
31
 
28
32
  class Service < Shamu::Services::Service
@@ -189,6 +193,11 @@ describe Shamu::Services::ActiveRecordCrud do
189
193
  service.update entity, request
190
194
  end
191
195
 
196
+ it "backfills missing attributes" do
197
+ expect( request ).to receive( :assign_attributes ).with( hash_including( label: "Books" ) )
198
+ service.update entity, request
199
+ end
200
+
192
201
  it "calls apply_changes if present" do
193
202
  expect( service ).to receive( :apply_changes )
194
203
  .with(
@@ -425,7 +434,7 @@ describe Shamu::Services::ActiveRecordCrud do
425
434
 
426
435
  it "destroys the record" do
427
436
  expect do
428
- service.destroy entity
437
+ service.destroy( entity ).valid!
429
438
  end.to change( ActiveRecordSpec::Favorite, :count ).by( -1 )
430
439
  end
431
440
 
@@ -47,6 +47,20 @@ describe Shamu::Services::LazyTransform do
47
47
  end.to yield_control.exactly(3)
48
48
  end
49
49
 
50
+ it "short-circuits last" do
51
+ expect do |block|
52
+ transformed = Shamu::Services::LazyTransform.new( source, &transformer( &block ) )
53
+ transformed.last
54
+ end.to yield_control.once
55
+ end
56
+
57
+ it "doesn't short-circuit last(n)" do
58
+ expect do |block|
59
+ transformed = Shamu::Services::LazyTransform.new( source, &transformer( &block ) )
60
+ transformed.last( 2 )
61
+ end.to yield_control.exactly(3)
62
+ end
63
+
50
64
  it "short-circuits empty?" do
51
65
  expect do |block|
52
66
  transformed = Shamu::Services::LazyTransform.new( source, &transformer( &block ) )
@@ -23,6 +23,10 @@ describe Shamu::ToModelIdExtension do
23
23
  it "returns self for an integer" do
24
24
  expect( 789.to_model_id ).to eq 789
25
25
  end
26
+
27
+ it "returns nil for nil" do
28
+ expect( nil.to_model_id ).to eq nil
29
+ end
26
30
  end
27
31
 
28
32
  describe Shamu::ToModelIdExtension::Enumerables do
@@ -51,4 +55,4 @@ describe Shamu::ToModelIdExtension do
51
55
  end
52
56
  end
53
57
 
54
- end
58
+ end
@@ -14,4 +14,4 @@ module Support
14
14
  end
15
15
  end
16
16
  end
17
- end
17
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shamu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Alexander
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-18 00:00:00.000000000 Z
11
+ date: 2017-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 1.11.2
61
+ version: '1.11'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 1.11.2
68
+ version: '1.11'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rack
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -230,10 +230,13 @@ files:
230
230
  - lib/shamu/attributes.rb
231
231
  - lib/shamu/attributes/README.md
232
232
  - lib/shamu/attributes/assignment.rb
233
+ - lib/shamu/attributes/camel_case.rb
233
234
  - lib/shamu/attributes/equality.rb
234
235
  - lib/shamu/attributes/fluid_assignment.rb
235
236
  - lib/shamu/attributes/html_sanitation.rb
236
237
  - lib/shamu/attributes/validation.rb
238
+ - lib/shamu/attributes/validators.rb
239
+ - lib/shamu/attributes/validators/valid_validator.rb
237
240
  - lib/shamu/auditing.rb
238
241
  - lib/shamu/auditing/README.md
239
242
  - lib/shamu/auditing/audit_record.rb
@@ -247,6 +250,7 @@ files:
247
250
  - lib/shamu/entities/active_record.rb
248
251
  - lib/shamu/entities/active_record_soft_destroy.rb
249
252
  - lib/shamu/entities/entity.rb
253
+ - lib/shamu/entities/entity_lookup_service.rb
250
254
  - lib/shamu/entities/entity_path.rb
251
255
  - lib/shamu/entities/html_sanitation.rb
252
256
  - lib/shamu/entities/identity_cache.rb
@@ -256,7 +260,11 @@ files:
256
260
  - lib/shamu/entities/list_scope/paging.rb
257
261
  - lib/shamu/entities/list_scope/scoped_paging.rb
258
262
  - lib/shamu/entities/list_scope/sorting.rb
263
+ - lib/shamu/entities/list_scope/window_paging.rb
259
264
  - lib/shamu/entities/null_entity.rb
265
+ - lib/shamu/entities/opaque_entity_lookup_service.rb
266
+ - lib/shamu/entities/opaque_id.rb
267
+ - lib/shamu/entities/paged_list.rb
260
268
  - lib/shamu/error.rb
261
269
  - lib/shamu/events.rb
262
270
  - lib/shamu/events/README.md
@@ -370,6 +378,7 @@ files:
370
378
  - spec/internal/public/favicon.ico
371
379
  - spec/lib/shamu/active_record_support.rb
372
380
  - spec/lib/shamu/attributes/assignment_spec.rb
381
+ - spec/lib/shamu/attributes/camel_case_spec.rb
373
382
  - spec/lib/shamu/attributes/equality_spec.rb
374
383
  - spec/lib/shamu/attributes/fluid_assignment_spec.rb
375
384
  - spec/lib/shamu/attributes/html_sanitation_spec.rb
@@ -379,6 +388,8 @@ files:
379
388
  - spec/lib/shamu/auditing/support_spec.rb
380
389
  - spec/lib/shamu/entities/active_record_soft_destroy_spec.rb
381
390
  - spec/lib/shamu/entities/active_record_spec.rb
391
+ - spec/lib/shamu/entities/entity_lookup_models.rb
392
+ - spec/lib/shamu/entities/entity_lookup_service_spec.rb
382
393
  - spec/lib/shamu/entities/entity_path_spec.rb
383
394
  - spec/lib/shamu/entities/entity_spec.rb
384
395
  - spec/lib/shamu/entities/html_sanitation_spec.rb
@@ -390,6 +401,9 @@ files:
390
401
  - spec/lib/shamu/entities/list_scope_spec.rb
391
402
  - spec/lib/shamu/entities/list_spec.rb
392
403
  - spec/lib/shamu/entities/null_entity_spec.rb
404
+ - spec/lib/shamu/entities/opaque_entity_lookup_service_spec.rb
405
+ - spec/lib/shamu/entities/opaque_id_spec.rb
406
+ - spec/lib/shamu/entities/paged_list_spec.rb
393
407
  - spec/lib/shamu/events/active_record/migration_spec.rb
394
408
  - spec/lib/shamu/events/active_record/service_spec.rb
395
409
  - spec/lib/shamu/events/events_service_spec.rb
@@ -486,6 +500,7 @@ test_files:
486
500
  - spec/internal/public/favicon.ico
487
501
  - spec/lib/shamu/active_record_support.rb
488
502
  - spec/lib/shamu/attributes/assignment_spec.rb
503
+ - spec/lib/shamu/attributes/camel_case_spec.rb
489
504
  - spec/lib/shamu/attributes/equality_spec.rb
490
505
  - spec/lib/shamu/attributes/fluid_assignment_spec.rb
491
506
  - spec/lib/shamu/attributes/html_sanitation_spec.rb
@@ -495,6 +510,8 @@ test_files:
495
510
  - spec/lib/shamu/auditing/support_spec.rb
496
511
  - spec/lib/shamu/entities/active_record_soft_destroy_spec.rb
497
512
  - spec/lib/shamu/entities/active_record_spec.rb
513
+ - spec/lib/shamu/entities/entity_lookup_models.rb
514
+ - spec/lib/shamu/entities/entity_lookup_service_spec.rb
498
515
  - spec/lib/shamu/entities/entity_path_spec.rb
499
516
  - spec/lib/shamu/entities/entity_spec.rb
500
517
  - spec/lib/shamu/entities/html_sanitation_spec.rb
@@ -506,6 +523,9 @@ test_files:
506
523
  - spec/lib/shamu/entities/list_scope_spec.rb
507
524
  - spec/lib/shamu/entities/list_spec.rb
508
525
  - spec/lib/shamu/entities/null_entity_spec.rb
526
+ - spec/lib/shamu/entities/opaque_entity_lookup_service_spec.rb
527
+ - spec/lib/shamu/entities/opaque_id_spec.rb
528
+ - spec/lib/shamu/entities/paged_list_spec.rb
509
529
  - spec/lib/shamu/events/active_record/migration_spec.rb
510
530
  - spec/lib/shamu/events/active_record/service_spec.rb
511
531
  - spec/lib/shamu/events/events_service_spec.rb