Skip to content

Commit 597a1d7

Browse files
committed
Rename webhooks to notifications
1 parent 699738d commit 597a1d7

File tree

6 files changed

+68
-70
lines changed

6 files changed

+68
-70
lines changed

lib/intercom.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
require "intercom/admin"
1111
require "intercom/count"
1212
require "intercom/request"
13-
require "intercom/webhook_payload"
13+
require "intercom/notification"
1414
require "intercom/utils"
1515
require "intercom/errors"
1616
require "json"

lib/intercom/notification.rb

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
require 'intercom/traits/api_resource'
2+
3+
module Intercom
4+
class Notification
5+
include Traits::ApiResource
6+
7+
def model
8+
data.item
9+
end
10+
11+
def model_type
12+
model.class
13+
end
14+
15+
def load
16+
model.load
17+
end
18+
19+
end
20+
end

lib/intercom/webhook_payload.rb

Lines changed: 0 additions & 22 deletions
This file was deleted.

spec/spec_helper.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ def test_tag
132132
}
133133
end
134134

135-
def test_webhook_user
135+
def test_user_notification
136136
{
137137
"type" => "notification_event",
138138
"id" => "notif_123456-56465-546546",
@@ -199,7 +199,7 @@ def test_webhook_user
199199
}
200200
end
201201

202-
def test_webhook_conversation
202+
def test_conversation_notification
203203
{
204204
"type"=>"notification_event",
205205
"id"=>"notif_123456-56465-546546",
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
require 'spec_helper'
2+
3+
describe "Intercom::Notification" do
4+
5+
it "converts notification hash to object" do
6+
payload = Intercom::Notification.new(test_user_notification)
7+
payload.must_be_instance_of Intercom::Notification
8+
end
9+
10+
it "returns correct model type for User" do
11+
payload = Intercom::Notification.new(test_user_notification)
12+
payload.model_type.must_equal Intercom::User
13+
end
14+
15+
it "returns correct notification topic" do
16+
payload = Intercom::Notification.new(test_user_notification)
17+
payload.topic.must_equal "user.created"
18+
end
19+
20+
it "returns instance of User" do
21+
payload = Intercom::Notification.new(test_user_notification)
22+
payload.model.must_be_instance_of Intercom::User
23+
end
24+
25+
it "returns instance of Conversation" do
26+
payload = Intercom::Notification.new(test_conversation_notification)
27+
payload.model.must_be_instance_of Intercom::Conversation
28+
end
29+
30+
it "returns correct model type for User" do
31+
payload = Intercom::Notification.new(test_conversation_notification)
32+
payload.model_type.must_equal Intercom::Conversation
33+
end
34+
35+
it "returns correct notification topic" do
36+
payload = Intercom::Notification.new(test_conversation_notification)
37+
payload.topic.must_equal "conversation.user.created"
38+
end
39+
40+
it "returns inner User object for Conversation" do
41+
payload = Intercom::Notification.new(test_conversation_notification)
42+
payload.model.user.must_be_instance_of Intercom::User
43+
end
44+
45+
end

spec/unit/intercom/webhook_payload_spec.rb

Lines changed: 0 additions & 45 deletions
This file was deleted.

0 commit comments

Comments
 (0)