Przeglądaj źródła

Merge pull request #357 from kingscott/master

Add support for marketing event engagements
Devon Meunier 7 lat temu
rodzic
commit
31a1701783

+ 4 - 0
lib/shopify_api/resources/marketing_event.rb

@@ -1,4 +1,8 @@
 module ShopifyAPI
   class MarketingEvent < Base
+    def add_engagements(engagements)
+      engagements = { engagements: Array.wrap(engagements) }
+      post(:engagements, {}, engagements.to_json)
+    end
   end
 end

+ 15 - 0
test/fixtures/engagement.json

@@ -0,0 +1,15 @@
+{
+  "engagements": [
+    {
+      "occurred_on": "2017-04-20",
+      "impressions_count": null,
+      "views_count": null,
+      "clicks_count": 10,
+      "shares_count": null,
+      "favorites_count": null,
+      "comments_count": null,
+      "ad_spend": null,
+      "is_cumulative": true
+    }
+  ]
+}

+ 19 - 0
test/marketing_event_test.rb

@@ -46,4 +46,23 @@ class MarketingEventTest < Test::Unit::TestCase
     marketing_events_count = ShopifyAPI::MarketingEvent.get(:count)
     assert_equal 2, marketing_events_count
   end
+
+  def test_add_engagements
+    fake "marketing_events/1", method: :get, body: load_fixture('marketing_event')
+    marketing_event = ShopifyAPI::MarketingEvent.find(1)
+    fake "marketing_events/1/engagements", method: :post, status: 201, body: load_fixture('engagement')
+    engagement = {
+      occurred_on: "2017-04-20",
+      impressions_count: nil,
+      views_count: nil,
+      clicks_count: 10,
+      shares_count: nil,
+      favorites_count: nil,
+      comments_count: nil,
+      ad_spend: nil,
+      is_cumulative: true
+    }
+    marketing_event.add_engagements(engagement)
+    assert "2017-04-20", engagement[:occurred_on]
+  end
 end