@@ -201,62 +201,6 @@ def test_rest_disabled_can_be_set_in_setup
201201 assert ( ShopifyAPI ::Context . rest_disabled )
202202 end
203203
204- def test_load_rest_resources_uses_rest_resource_version
205- # Test that the rest_resource_version method is used to handle fallback for release candidate versions
206- release_candidate = ShopifyAPI ::AdminVersions ::RELEASE_CANDIDATE_ADMIN_VERSION
207- latest_supported = ShopifyAPI ::AdminVersions ::LATEST_SUPPORTED_ADMIN_VERSION
208-
209- ShopifyAPI ::AdminVersions . expects ( :rest_resource_version ) . with ( release_candidate ) . returns ( latest_supported )
210- version_folder_name = latest_supported . gsub ( "-" , "_" )
211- Dir . expects ( :exist? ) . with ( regexp_matches ( %r{.*/lib/shopify_api/rest/resources/#{ version_folder_name } $} ) ) . returns ( true )
212- original_method = Zeitwerk ::Loader . method ( :new )
213-
214- begin
215- # Create a real Zeitwerk::Loader instance that we can stub
216- loader = Zeitwerk ::Loader . new
217- Zeitwerk ::Loader . stubs ( :new ) . returns ( loader )
218-
219- # Now stub the methods on the real loader
220- loader . expects ( :enable_reloading ) . once
221- loader . expects ( :ignore ) . once
222- loader . expects ( :setup ) . once
223- loader . expects ( :push_dir ) . once
224- loader . expects ( :reload ) . once
225-
226- # Call load_rest_resources with the release candidate version
227- ShopifyAPI ::Context . load_rest_resources ( api_version : release_candidate )
228- ensure
229- # Restore the original method to avoid affecting other tests
230- Zeitwerk ::Loader . singleton_class . send ( :define_method , :new , original_method )
231- end
232- end
233-
234- def test_load_rest_resources_when_resources_dont_exist
235- # Test behavior when REST resources directory doesn't exist
236- version = "2023-01"
237- version_folder_name = version . gsub ( "-" , "_" )
238-
239- # Mock Dir.exist? to return false, indicating resources don't exist
240- Dir . expects ( :exist? ) . with ( regexp_matches ( %r{.*/lib/shopify_api/rest/resources/#{ version_folder_name } $} ) ) . returns ( false )
241-
242- # Reset the notified_missing_resources_folder hash to ensure warning is logged
243- ShopifyAPI ::Context . instance_variable_set ( :@notified_missing_resources_folder , { } )
244-
245- # Expect a warning to be logged
246- logger_mock = mock
247- logger_mock . expects ( :warn ) . with ( regexp_matches ( /Cannot autoload REST resources for API version '#{ version_folder_name } '/ ) )
248- ShopifyAPI ::Context . instance_variable_set ( :@logger , logger_mock )
249-
250- # Ensure Zeitwerk loader is not created or used
251- Zeitwerk ::Loader . expects ( :new ) . never
252-
253- # Call load_rest_resources with the version
254- ShopifyAPI ::Context . load_rest_resources ( api_version : version )
255-
256- # Verify the version was added to the notified list
257- notified = ShopifyAPI ::Context . instance_variable_get ( :@notified_missing_resources_folder )
258- assert ( notified . key? ( version ) , "Version should be added to notified_missing_resources_folder" )
259- end
260204
261205 def teardown
262206 ShopifyAPI ::Context . deactivate_session
0 commit comments