Browse Source

Override versioned prefix for access scopes.

Access scopes do not currently follow the version url scheme.
Alex Aitken 6 years ago
parent
commit
efc4b4945a

+ 6 - 1
lib/shopify_api/resources/access_scope.rb

@@ -1,5 +1,10 @@
+# frozen_string_literal: true
 module ShopifyAPI
   class AccessScope < Base
-    self.resource_prefix = "oauth/"
+    class << self
+      def prefix(_options={})
+        '/admin/oauth/'
+      end
+    end
   end
 end

+ 23 - 0
test/access_scope_test.rb

@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+require 'test_helper'
+
+class AccessScopeTest < Test::Unit::TestCase
+  test 'access scope does not use the versioned resource urls' do
+    fake(
+      'access_scopes',
+      url: 'https://shop2.myshopify.com/admin/oauth/access_scopes.json',
+      method: :get,
+      status: 201,
+      body: load_fixture('access_scopes'),
+      extension: false
+    )
+
+    unstable_version = ShopifyAPI::Session.new(domain: 'shop2.myshopify.com', token: 'token2', api_version: :unstable)
+
+    ShopifyAPI::Base.activate_session(unstable_version)
+
+    scope_handles = ShopifyAPI::AccessScope.find(:all).map(&:handle)
+
+    assert_equal(['write_product_listings', 'read_shipping'], scope_handles)
+  end
+end

+ 10 - 0
test/fixtures/access_scopes.json

@@ -0,0 +1,10 @@
+{
+  "access_scopes": [
+    {
+      "handle": "write_product_listings"
+    },
+    {
+      "handle": "read_shipping"
+    }
+  ]
+}