@@ -45,6 +45,8 @@ class GlobalIDCreationTest < ActiveSupport::TestCase
45
45
@person_namespaced_gid = GlobalID . create ( Person ::Child . new ( 4 ) )
46
46
@person_model_gid = GlobalID . create ( PersonModel . new ( id : 1 ) )
47
47
@cpk_model_gid = GlobalID . create ( CompositePrimaryKeyModel . new ( id : [ "tenant-key-value" , "id-value" ] ) )
48
+ @ckm_model = ConfigurableKeyModel . new ( id : "id-value" , external_id : "external-id-value" )
49
+ @ckm_model_gid = GlobalID . create ( @ckm_model )
48
50
end
49
51
50
52
test 'find' do
@@ -53,13 +55,15 @@ class GlobalIDCreationTest < ActiveSupport::TestCase
53
55
assert_equal Person ::Child . find ( @person_namespaced_gid . model_id ) , @person_namespaced_gid . find
54
56
assert_equal PersonModel . find ( @person_model_gid . model_id ) , @person_model_gid . find
55
57
assert_equal CompositePrimaryKeyModel . find ( @cpk_model_gid . model_id ) , @cpk_model_gid . find
58
+ assert_equal ConfigurableKeyModel . find ( @ckm_model_gid . model_id ) , @ckm_model_gid . find
56
59
end
57
60
58
61
test 'find with class' do
59
62
assert_equal Person . find ( @person_gid . model_id ) , @person_gid . find ( only : Person )
60
63
assert_equal Person . find ( @person_uuid_gid . model_id ) , @person_uuid_gid . find ( only : Person )
61
64
assert_equal PersonModel . find ( @person_model_gid . model_id ) , @person_model_gid . find ( only : PersonModel )
62
65
assert_equal CompositePrimaryKeyModel . find ( @cpk_model_gid . model_id ) , @cpk_model_gid . find ( only : CompositePrimaryKeyModel )
66
+ assert_equal ConfigurableKeyModel . find ( @ckm_model_gid . model_id ) , @ckm_model_gid . find ( only : ConfigurableKeyModel )
63
67
end
64
68
65
69
test 'find with class no match' do
@@ -68,6 +72,7 @@ class GlobalIDCreationTest < ActiveSupport::TestCase
68
72
assert_nil @person_namespaced_gid . find ( only : String )
69
73
assert_nil @person_model_gid . find ( only : Float )
70
74
assert_nil @cpk_model_gid . find ( only : Hash )
75
+ assert_nil @ckm_model_gid . find ( only : Hash )
71
76
end
72
77
73
78
test 'find with subclass' do
@@ -140,6 +145,7 @@ class GlobalIDCreationTest < ActiveSupport::TestCase
140
145
assert_equal 'gid://bcx/Person::Child/4' , @person_namespaced_gid . to_s
141
146
assert_equal 'gid://bcx/PersonModel/1' , @person_model_gid . to_s
142
147
assert_equal 'gid://bcx/CompositePrimaryKeyModel/tenant-key-value/id-value' , @cpk_model_gid . to_s
148
+ assert_equal 'gid://bcx/ConfigurableKeyModel/external-id-value' , @ckm_model_gid . to_s
143
149
end
144
150
145
151
test 'as param' do
@@ -166,6 +172,7 @@ class GlobalIDCreationTest < ActiveSupport::TestCase
166
172
assert_equal URI ( 'gid://bcx/Person::Child/4' ) , @person_namespaced_gid . uri
167
173
assert_equal URI ( 'gid://bcx/PersonModel/1' ) , @person_model_gid . uri
168
174
assert_equal URI ( 'gid://bcx/CompositePrimaryKeyModel/tenant-key-value/id-value' ) , @cpk_model_gid . uri
175
+ assert_equal URI ( 'gid://bcx/ConfigurableKeyModel/external-id-value' ) , @ckm_model_gid . uri
169
176
end
170
177
171
178
test 'as JSON' do
@@ -183,6 +190,9 @@ class GlobalIDCreationTest < ActiveSupport::TestCase
183
190
184
191
assert_equal 'gid://bcx/CompositePrimaryKeyModel/tenant-key-value/id-value' , @cpk_model_gid . as_json
185
192
assert_equal '"gid://bcx/CompositePrimaryKeyModel/tenant-key-value/id-value"' , @cpk_model_gid . to_json
193
+
194
+ assert_equal 'gid://bcx/ConfigurableKeyModel/external-id-value' , @ckm_model_gid . as_json
195
+ assert_equal '"gid://bcx/ConfigurableKeyModel/external-id-value"' , @ckm_model_gid . to_json
186
196
end
187
197
188
198
test 'model id' do
@@ -191,6 +201,7 @@ class GlobalIDCreationTest < ActiveSupport::TestCase
191
201
assert_equal '4' , @person_namespaced_gid . model_id
192
202
assert_equal '1' , @person_model_gid . model_id
193
203
assert_equal [ 'tenant-key-value' , 'id-value' ] , @cpk_model_gid . model_id
204
+ assert_equal 'external-id-value' , @ckm_model_gid . model_id
194
205
end
195
206
196
207
test 'model name' do
@@ -199,6 +210,7 @@ class GlobalIDCreationTest < ActiveSupport::TestCase
199
210
assert_equal 'Person::Child' , @person_namespaced_gid . model_name
200
211
assert_equal 'PersonModel' , @person_model_gid . model_name
201
212
assert_equal 'CompositePrimaryKeyModel' , @cpk_model_gid . model_name
213
+ assert_equal 'ConfigurableKeyModel' , @ckm_model_gid . model_name
202
214
end
203
215
204
216
test 'model class' do
@@ -207,6 +219,7 @@ class GlobalIDCreationTest < ActiveSupport::TestCase
207
219
assert_equal Person ::Child , @person_namespaced_gid . model_class
208
220
assert_equal PersonModel , @person_model_gid . model_class
209
221
assert_equal CompositePrimaryKeyModel , @cpk_model_gid . model_class
222
+ assert_equal ConfigurableKeyModel , @ckm_model_gid . model_class
210
223
assert_raise ArgumentError do
211
224
GlobalID . find 'gid://bcx/SignedGlobalID/5'
212
225
end
0 commit comments