瀏覽代碼

Default sessions to Base api_version

Paulo Margarido 4 年之前
父節點
當前提交
a6e4ba8aba
共有 2 個文件被更改,包括 16 次插入6 次删除
  1. 3 3
      lib/shopify_api/session.rb
  2. 13 3
      test/session_test.rb

+ 3 - 3
lib/shopify_api/session.rb

@@ -20,7 +20,7 @@ module ShopifyAPI
         params.each { |k,value| public_send("#{k}=", value) }
       end
 
-      def temp(domain:, token:, api_version:, &block)
+      def temp(domain:, token:, api_version: nil, &block)
         session = new(domain: domain, token: token, api_version: api_version)
 
         with_session(session, &block)
@@ -84,9 +84,9 @@ module ShopifyAPI
       end
     end
 
-    def initialize(domain:, token:, api_version:, extra: {})
+    def initialize(domain:, token:, api_version: nil, extra: {})
       self.domain = self.class.prepare_domain(domain)
-      self.api_version = api_version
+      self.api_version = api_version || ShopifyAPI::Base.api_version
       self.token = token
       self.extra = extra
     end

+ 13 - 3
test/session_test.rb

@@ -19,13 +19,23 @@ class SessionTest < Test::Unit::TestCase
   end
 
   test "not be valid without an api version" do
-    session = ShopifyAPI::Session.new(domain: "testshop.myshopify.com", token: "any-token", api_version: nil)
-    assert_not session.valid?
-
     session = ShopifyAPI::Session.new(domain: "testshop.myshopify.com", token: "any-token", api_version: ShopifyAPI::ApiVersion::NullVersion)
     assert_not session.valid?
   end
 
+  test "default to base api version" do
+    session = ShopifyAPI::Session.new(domain: "testshop.myshopify.com", token: "any-token", api_version: nil)
+    assert session.valid?
+    assert_equal session.api_version, ShopifyAPI::Base.api_version
+  end
+
+  test "can override the base api version" do
+    different_api_version = '2020-01'
+    session = ShopifyAPI::Session.new(domain: "testshop.myshopify.com", token: "any-token", api_version: different_api_version)
+    assert session.valid?
+    assert_equal session.api_version, ShopifyAPI::ApiVersion.find_version(different_api_version)
+  end
+
   test "be valid with any token, any url and version" do
     session = ShopifyAPI::Session.new(
       domain: "testshop.myshopify.com",