meducation_sdk 2.1.2 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ee0e1febec5e14ae0d8ad9a1b6dbb5bcbef6274
|
4
|
+
data.tar.gz: e6ac2312b72eddf19599aa29e4cc4a26eead9f1a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 898d808840d6cfae8f307e5995cea56ab5669c6f2bd7b9a9e627b982f66fbcbfdabda43d7949aa8cf3a8f8992f8d61b5b28ec0d822775edf75e2d7bdbb93fff1
|
7
|
+
data.tar.gz: 027ac89d2416db85b53ad058ffccbf04911acb9af5e5e94c0553b0a38594dd7ac7670d28aba29d185bd3acacf35973d671b4c66378d7c939516fd3656af196f2
|
data/CHANGELOG.md
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
module MeducationSDK
|
2
|
+
class EcommerceProduct < Resource
|
3
|
+
self.path = "/ecommerce_products"
|
4
|
+
|
5
|
+
def item
|
6
|
+
@item ||= sdk_class_for(item_type).find(item_id)
|
7
|
+
end
|
8
|
+
|
9
|
+
def collection
|
10
|
+
item.is_a?(Collection) ? item : (raise MeducationSDKError.new("Item is not a collection. It is a #{item.class.name}"))
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
14
|
+
|
15
|
+
class EcommerceProductMock < EcommerceProduct
|
16
|
+
extend Loquor::ResourceMock
|
17
|
+
|
18
|
+
self.attributes = {
|
19
|
+
id: 1,
|
20
|
+
item_type: 89,
|
21
|
+
item_id: 90
|
22
|
+
}
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require_relative '../test_helper'
|
2
|
+
require_relative '../resource_test'
|
3
|
+
|
4
|
+
module MeducationSDK
|
5
|
+
class EcommerceProductTest < ResourceTest
|
6
|
+
test_resource(EcommerceProduct, '/ecommerce_products')
|
7
|
+
|
8
|
+
def setup
|
9
|
+
super
|
10
|
+
@collection = MeducationSDK::Collection.new({id: 1, slug: "funky_professor"})
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_item_calls_sdk_when_known_type
|
14
|
+
product = EcommerceProduct.new(item_id: 3, item_type: "Collection")
|
15
|
+
MeducationSDK::Collection.expects(:find).with(3).returns(@collection)
|
16
|
+
assert_equal @collection, product.item
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_item_raises_error_when_unknown_type
|
20
|
+
product = EcommerceProduct.new(item_id: 3, item_type: "UnknownType")
|
21
|
+
assert_raises NameError do
|
22
|
+
product.item
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_collection_returns_when_item_a_collection
|
27
|
+
product = EcommerceProduct.new(item_id: 3, item_type: "Collection")
|
28
|
+
MeducationSDK::Collection.expects(:find).with(3).returns(@collection)
|
29
|
+
assert_equal @collection, product.collection
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_collection_raises_error_when_item_not_a_collection
|
33
|
+
media_file = MeducationSDK::MediaFile.new({id: 1})
|
34
|
+
product = EcommerceProduct.new(item_id: 3, item_type: "MediaFile")
|
35
|
+
MeducationSDK::MediaFile.expects(:find).with(3).returns(media_file)
|
36
|
+
assert_raises MeducationSDKError do
|
37
|
+
product.collection
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: meducation_sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Walker
|
@@ -156,6 +156,7 @@ files:
|
|
156
156
|
- lib/meducation_sdk/resources/community_membership.rb
|
157
157
|
- lib/meducation_sdk/resources/contribution.rb
|
158
158
|
- lib/meducation_sdk/resources/dashboard_item.rb
|
159
|
+
- lib/meducation_sdk/resources/ecommerce_product.rb
|
159
160
|
- lib/meducation_sdk/resources/ecommerce_subscription.rb
|
160
161
|
- lib/meducation_sdk/resources/external_resource.rb
|
161
162
|
- lib/meducation_sdk/resources/group.rb
|
@@ -221,6 +222,7 @@ files:
|
|
221
222
|
- test/resources/community_test.rb
|
222
223
|
- test/resources/contribution_test.rb
|
223
224
|
- test/resources/dashboard_item_test.rb
|
225
|
+
- test/resources/ecommerce_product_test.rb
|
224
226
|
- test/resources/ecommerce_subscription_test.rb
|
225
227
|
- test/resources/external_resource_test.rb
|
226
228
|
- test/resources/group_discussion_post_test.rb
|
@@ -310,6 +312,7 @@ test_files:
|
|
310
312
|
- test/resources/community_test.rb
|
311
313
|
- test/resources/contribution_test.rb
|
312
314
|
- test/resources/dashboard_item_test.rb
|
315
|
+
- test/resources/ecommerce_product_test.rb
|
313
316
|
- test/resources/ecommerce_subscription_test.rb
|
314
317
|
- test/resources/external_resource_test.rb
|
315
318
|
- test/resources/group_discussion_post_test.rb
|