@@ -19,17 +19,33 @@ class ApiVersionTest < Test::Unit::TestCase
19
19
] )
20
20
end
21
21
22
- test "coerce_to_version raises when coercing a string that doesn't match a known version" do
23
- refute ShopifyAPI ::ApiVersion . versions . nil?
24
- assert_raises ShopifyAPI ::ApiVersion ::UnknownVersion do
22
+ test "coerce_to_version removes unpersisted versions from version set if mode is set to :predefined_only" do
23
+ ShopifyAPI ::ApiVersion . coercion_mode = :define_on_unknown
24
+ assert ShopifyAPI ::ApiVersion . versions . values . all? ( &:persisted? )
25
+ assert_equal 5 , ShopifyAPI ::ApiVersion . versions . size
26
+
27
+ ShopifyAPI ::ApiVersion . coerce_to_version ( '2019-30' )
28
+ refute ShopifyAPI ::ApiVersion . versions . values . all? ( &:persisted? )
29
+ assert_equal 6 , ShopifyAPI ::ApiVersion . versions . size
30
+ ShopifyAPI ::ApiVersion . coercion_mode = :predefined_only
31
+
32
+ assert ShopifyAPI ::ApiVersion . versions . values . all? ( &:persisted? )
33
+ assert_equal 5 , ShopifyAPI ::ApiVersion . versions . size
34
+ end
35
+
36
+ test "coerce_to_version does not raise when coercing a string if no versions are defined when coercion_mode is :define_on_unknown" do
37
+ ShopifyAPI ::ApiVersion . clear_defined_versions
38
+ ShopifyAPI ::ApiVersion . coercion_mode = :define_on_unknown
39
+ assert_equal :define_on_unknown , ShopifyAPI ::ApiVersion . coercion_mode
40
+ assert_nothing_raised do
25
41
ShopifyAPI ::ApiVersion . coerce_to_version ( 'made up version' )
26
42
end
27
43
end
28
44
29
- test "coerce_to_version does not raise when coercing a string if no versions are defined" do
30
- ShopifyAPI ::ApiVersion . clear_defined_versions
31
- assert_nil ShopifyAPI ::ApiVersion . versions
32
- assert_nothing_raised do
45
+ test "coerce_to_version does raise when coercing a string if no versions are defined when coercion_mode is :predefined_only " do
46
+ refute ShopifyAPI ::ApiVersion . versions [ 'made up version' ]
47
+ ShopifyAPI ::ApiVersion . coercion_mode = :predefined_only
48
+ assert_raises ShopifyAPI :: ApiVersion :: UnknownVersion do
33
49
ShopifyAPI ::ApiVersion . coerce_to_version ( 'made up version' )
34
50
end
35
51
end
@@ -77,8 +93,8 @@ class ApiVersionTest < Test::Unit::TestCase
77
93
"2019-01" => ShopifyAPI ::ApiVersion . new ( handle : '2019-01' , supported : true , latest_supported : false ) ,
78
94
"2019-04" => ShopifyAPI ::ApiVersion . new ( handle : '2019-04' , supported : true , latest_supported : false ) ,
79
95
"2019-07" => ShopifyAPI ::ApiVersion . new ( handle : '2019-07' , supported : true , latest_supported : true ) ,
80
- "2019-10" => ShopifyAPI ::ApiVersion . new ( handle : '2019-10' , supported : true , latest_supported : false ) ,
81
- "unstable" => ShopifyAPI ::ApiVersion . new ( handle : 'unstable' , supported : true , latest_supported : false ) ,
96
+ "2019-10" => ShopifyAPI ::ApiVersion . new ( handle : '2019-10' , supported : false , latest_supported : false ) ,
97
+ "unstable" => ShopifyAPI ::ApiVersion . new ( handle : 'unstable' , supported : false , latest_supported : false ) ,
82
98
}
83
99
)
84
100
0 commit comments