Browse Source

Merge pull request #748 from Shopify/default_session_to_base_api_version

Default sessions to Base api_version
Paulo Margarido 4 years ago
parent
commit
e7f6d21b7f
2 changed files with 16 additions and 3 deletions
  1. 2 2
      lib/shopify_api/session.rb
  2. 14 1
      test/session_test.rb

+ 2 - 2
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: ShopifyAPI::Base.api_version, &block)
         session = new(domain: domain, token: token, api_version: api_version)
 
         with_session(session, &block)
@@ -84,7 +84,7 @@ module ShopifyAPI
       end
     end
 
-    def initialize(domain:, token:, api_version:, extra: {})
+    def initialize(domain:, token:, api_version: ShopifyAPI::Base.api_version, extra: {})
       self.domain = self.class.prepare_domain(domain)
       self.api_version = api_version
       self.token = token

+ 14 - 1
test/session_test.rb

@@ -18,7 +18,7 @@ class SessionTest < Test::Unit::TestCase
     assert_not session.valid?
   end
 
-  test "not be valid without an api version" do
+  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?
 
@@ -26,6 +26,19 @@ class SessionTest < Test::Unit::TestCase
     assert_not session.valid?
   end
 
+  test "default to base API version" do
+    session = ShopifyAPI::Session.new(domain: "testshop.myshopify.com", token: "any-token")
+    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",