calendlyr 0.3.3 → 0.5.0
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 +4 -4
- data/.github/workflows/ci.yml +1 -1
- data/CHANGELOG.md +3 -27
- data/Gemfile +1 -5
- data/README.md +47 -20
- data/bin/console +3 -3
- data/{calendly.gemspec → calendlyr.gemspec} +3 -3
- data/lib/{calendly → calendlyr}/client.rb +9 -9
- data/lib/{calendly → calendlyr}/collection.rb +4 -1
- data/lib/{calendly → calendlyr}/error.rb +1 -1
- data/lib/{calendly → calendlyr}/object.rb +1 -1
- data/lib/{calendly → calendlyr}/objects/event_invitees.rb +1 -1
- data/lib/{calendly → calendlyr}/objects/event_types.rb +1 -1
- data/lib/{calendly → calendlyr}/objects/events.rb +1 -1
- data/lib/{calendly → calendlyr}/objects/invitations.rb +1 -1
- data/lib/{calendly → calendlyr}/objects/memberships.rb +1 -1
- data/lib/{calendly → calendlyr}/objects/organizations.rb +9 -1
- data/lib/{calendly → calendlyr}/objects/scheduling_links.rb +1 -1
- data/lib/{calendly → calendlyr}/objects/users.rb +1 -1
- data/lib/{calendly → calendlyr}/objects/webhooks.rb +1 -1
- data/lib/{calendly → calendlyr}/resource.rb +13 -25
- data/lib/{calendly → calendlyr}/resources/data_compliance.rb +1 -1
- data/lib/{calendly → calendlyr}/resources/event_invitees.rb +1 -1
- data/lib/{calendly → calendlyr}/resources/event_types.rb +1 -1
- data/lib/{calendly → calendlyr}/resources/events.rb +1 -1
- data/lib/{calendly → calendlyr}/resources/organizations.rb +2 -2
- data/lib/{calendly → calendlyr}/resources/scheduling_links.rb +1 -1
- data/lib/{calendly → calendlyr}/resources/users.rb +1 -1
- data/lib/{calendly → calendlyr}/resources/webhooks.rb +1 -1
- data/lib/calendlyr/version.rb +3 -0
- data/lib/calendlyr.rb +30 -0
- data/test/calendlyr/client_test.rb +11 -0
- data/test/calendlyr/object_test.rb +21 -0
- data/test/calendlyr/resource_test.rb +14 -0
- data/test/{calendly/resources/data_compliance.rb → calendlyr/resources/data_compliance_test.rb} +0 -0
- data/test/{calendly → calendlyr}/resources/event_invitees_test.rb +3 -3
- data/test/{calendly → calendlyr}/resources/event_types_test.rb +3 -3
- data/test/{calendly → calendlyr}/resources/events_test.rb +3 -3
- data/test/{calendly → calendlyr}/resources/organizations_test.rb +41 -26
- data/test/calendlyr/resources/scheduling_links_test.rb +15 -0
- data/test/{calendly → calendlyr}/resources/users_test.rb +24 -12
- data/test/{calendly → calendlyr}/resources/webhooks_test.rb +8 -5
- data/test/{calendly_test.rb → calendlyr_test.rb} +2 -2
- data/test/fixtures/organizations/invite.json +9 -7
- data/test/fixtures/organizations/list_invitations.json +1 -1
- data/test/fixtures/organizations/retrieve_invitation.json +1 -1
- data/test/fixtures/resources/400.json +10 -0
- data/test/fixtures/resources/401.json +10 -0
- data/test/fixtures/resources/403.json +10 -0
- data/test/fixtures/resources/404.json +10 -0
- data/test/fixtures/resources/409.json +4 -0
- data/test/fixtures/resources/500.json +10 -0
- data/test/fixtures/users/reload.json +14 -0
- data/test/test_helper.rb +9 -3
- metadata +67 -51
- data/lib/calendly/version.rb +0 -3
- data/lib/calendly.rb +0 -35
- data/test/calendly/client_test.rb +0 -8
- data/test/calendly/object_test.rb +0 -21
- data/test/calendly/resources/scheduling_links.rb +0 -12
@@ -10,8 +10,8 @@ class EventTypesResourceTest < Minitest::Test
|
|
10
10
|
stub(path: "event_types?user=#{user_uri}&organization=#{organization_uri}", response: response)
|
11
11
|
event_types = client.event_types.list(user_uri: user_uri, organization_uri: organization_uri)
|
12
12
|
|
13
|
-
assert_equal
|
14
|
-
assert_equal
|
13
|
+
assert_equal Calendlyr::Collection, event_types.class
|
14
|
+
assert_equal Calendlyr::EventType, event_types.data.first.class
|
15
15
|
assert_equal 1, event_types.count
|
16
16
|
assert_equal "sNjq4TvMDfUHEl7zHRR0k0E1PCEJWvdi", event_types.next_page_token
|
17
17
|
end
|
@@ -22,7 +22,7 @@ class EventTypesResourceTest < Minitest::Test
|
|
22
22
|
stub(path: "event_types/#{event_type_uuid}", response: response)
|
23
23
|
event_type = client.event_types.retrieve(event_type_uuid: event_type_uuid)
|
24
24
|
|
25
|
-
assert_equal
|
25
|
+
assert_equal Calendlyr::EventType, event_type.class
|
26
26
|
assert_equal "https://api.calendly.com/event_types/AAAAAAAAAAAAAAAA", event_type.uri
|
27
27
|
assert_equal "15 Minute Meeting", event_type.name
|
28
28
|
assert_equal "acmesales", event_type.slug
|
@@ -10,8 +10,8 @@ class EventsResourceTest < Minitest::Test
|
|
10
10
|
stub(path: "scheduled_events?user=#{user_uri}&organization=#{organization_uri}", response: response)
|
11
11
|
events = client.events.list(user_uri: user_uri, organization_uri: organization_uri)
|
12
12
|
|
13
|
-
assert_equal
|
14
|
-
assert_equal
|
13
|
+
assert_equal Calendlyr::Collection, events.class
|
14
|
+
assert_equal Calendlyr::Event, events.data.first.class
|
15
15
|
assert_equal 1, events.count
|
16
16
|
assert_equal "sNjq4TvMDfUHEl7zHRR0k0E1PCEJWvdi", events.next_page_token
|
17
17
|
end
|
@@ -22,7 +22,7 @@ class EventsResourceTest < Minitest::Test
|
|
22
22
|
stub(path: "scheduled_events/#{event_uuid}", response: response)
|
23
23
|
event = client.events.retrieve(event_uuid: event_uuid)
|
24
24
|
|
25
|
-
assert_equal
|
25
|
+
assert_equal Calendlyr::Event, event.class
|
26
26
|
assert_equal "https://api.calendly.com/scheduled_events/GBGBDCAADAEDCRZ2", event.uri
|
27
27
|
assert_equal "15 Minute Meeting", event.name
|
28
28
|
end
|
@@ -11,7 +11,7 @@ class OrganizationsResourceTest < Minitest::Test
|
|
11
11
|
|
12
12
|
invitation = client.organizations.invite(organization_uuid: organization_uuid, email: email)
|
13
13
|
|
14
|
-
assert_equal
|
14
|
+
assert_equal Calendlyr::Invitation, invitation.class
|
15
15
|
assert_equal email, invitation.email
|
16
16
|
end
|
17
17
|
|
@@ -21,8 +21,8 @@ class OrganizationsResourceTest < Minitest::Test
|
|
21
21
|
stub(path: "organizations/#{organization_uuid}/invitations", response: response)
|
22
22
|
invitations = client.organizations.list_invitations(organization_uuid: organization_uuid)
|
23
23
|
|
24
|
-
assert_equal
|
25
|
-
assert_equal
|
24
|
+
assert_equal Calendlyr::Collection, invitations.class
|
25
|
+
assert_equal Calendlyr::Invitation, invitations.data.first.class
|
26
26
|
assert_equal 1, invitations.count
|
27
27
|
assert_equal "sNjq4TvMDfUHEl7zHRR0k0E1PCEJWvdi", invitations.next_page_token
|
28
28
|
end
|
@@ -34,31 +34,53 @@ class OrganizationsResourceTest < Minitest::Test
|
|
34
34
|
stub(path: "organization_memberships?user=#{user_uri}&organization=#{organization_uri}", response: response)
|
35
35
|
memberships = client.organizations.list_memberships(user_uri: user_uri, organization_uri: organization_uri)
|
36
36
|
|
37
|
-
assert_equal
|
38
|
-
assert_equal
|
37
|
+
assert_equal Calendlyr::Collection, memberships.class
|
38
|
+
assert_equal Calendlyr::Membership, memberships.data.first.class
|
39
39
|
assert_equal 1, memberships.count
|
40
40
|
assert_equal "sNjq4TvMDfUHEl7zHRR0k0E1PCEJWvdi", memberships.next_page_token
|
41
41
|
end
|
42
42
|
|
43
|
+
def test_list_webhooks
|
44
|
+
stub(path: "webhook_subscriptions?organization=#{client.organization.uri}&scope=user", response: {body: fixture_file("webhooks/list"), status: 200})
|
45
|
+
webhooks = client.organization.list_webhooks(scope: "user")
|
46
|
+
|
47
|
+
assert_equal Calendlyr::Collection, webhooks.class
|
48
|
+
assert_equal Calendlyr::Webhook, webhooks.data.first.class
|
49
|
+
assert_equal 1, webhooks.count
|
50
|
+
assert_equal "sNjq4TvMDfUHEl7zHRR0k0E1PCEJWvdi", webhooks.next_page_token
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_create_webhook
|
54
|
+
body = {url: "https://blah.foo/bar", events: ["invitee.created"], organization: client.organization.uri, scope: "user", user: client.me.uri}
|
55
|
+
stub(method: :post, path: "webhook_subscriptions", body: body, response: {body: fixture_file("webhooks/create"), status: 201})
|
56
|
+
|
57
|
+
assert client.webhooks.create(url: body[:url], events: body[:events], organization_uri: body[:organization], scope: body[:scope], user_uri: body[:user])
|
58
|
+
end
|
59
|
+
|
43
60
|
def test_retrieve_invitation
|
44
|
-
organization_uuid = "AAAAAAAAAAAAAAAA"
|
45
61
|
invitation_uuid = "AAAAAAAAAAAAAAAA"
|
46
|
-
response = {body: fixture_file("organizations/retrieve_invitation"), status: 200}
|
47
|
-
stub(path: "organizations/#{organization_uuid}/invitations/#{invitation_uuid}", response: response)
|
48
|
-
invitation = client.organizations.retrieve_invitation(organization_uuid: organization_uuid, invitation_uuid: invitation_uuid)
|
49
62
|
|
50
|
-
|
63
|
+
stub(path: "organizations/#{client.organization.uuid}/invitations/#{invitation_uuid}", response: {body: fixture_file("organizations/retrieve_invitation"), status: 200})
|
64
|
+
stub(method: :delete, path: "organizations/#{client.organization.uuid}/invitations/#{invitation_uuid}", response: {body: fixture_file("organizations/revoke_invitation")})
|
65
|
+
invitation = client.organizations.retrieve_invitation(organization_uuid: client.organization.uuid, invitation_uuid: invitation_uuid)
|
66
|
+
|
67
|
+
assert_equal Calendlyr::Invitation, invitation.class
|
51
68
|
assert_equal "test@example.com", invitation.email
|
69
|
+
|
70
|
+
assert invitation.associated_organization
|
71
|
+
assert invitation.revoke
|
52
72
|
end
|
53
73
|
|
54
74
|
def test_retrieve_membership
|
55
75
|
membership_uuid = "AAAAAAAAAAAAAAAA"
|
56
76
|
response = {body: fixture_file("organizations/retrieve_membership"), status: 200}
|
57
77
|
stub(path: "organization_memberships/#{membership_uuid}", response: response)
|
78
|
+
stub(path: "users/#{membership_uuid}", response: {body: fixture_file("users/retrieve"), status: 200})
|
58
79
|
membership = client.organizations.retrieve_membership(membership_uuid: membership_uuid)
|
59
80
|
|
60
|
-
assert_equal
|
81
|
+
assert_equal Calendlyr::Membership, membership.class
|
61
82
|
assert_equal "test@example.com", membership.user.email
|
83
|
+
assert_equal membership.associated_user, client.users.retrieve(user_uuid: membership_uuid)
|
62
84
|
end
|
63
85
|
|
64
86
|
def test_revoke_invitation
|
@@ -77,63 +99,56 @@ class OrganizationsResourceTest < Minitest::Test
|
|
77
99
|
end
|
78
100
|
|
79
101
|
def test_organization_invite_user
|
80
|
-
stub(path: "users/me", response: {body: fixture_file("users/retrieve"), status: 200})
|
81
|
-
|
82
102
|
email = "email@example.com"
|
83
103
|
response = {body: fixture_file("organizations/invite"), status: 201}
|
84
104
|
stub(method: :post, path: "organizations/#{client.organization.uuid}/invitations", body: {email: email}, response: response)
|
85
105
|
|
86
106
|
invitation = client.organization.invite_user(email: email)
|
87
107
|
|
88
|
-
assert_equal
|
108
|
+
assert_equal Calendlyr::Invitation, invitation.class
|
89
109
|
assert_equal email, invitation.email
|
90
110
|
end
|
91
111
|
|
92
112
|
def test_organization_list_invitations
|
93
|
-
stub(path: "users/me", response: {body: fixture_file("users/retrieve"), status: 200})
|
94
113
|
stub(path: "organizations/#{client.organization.uuid}/invitations", response: {body: fixture_file("organizations/list_invitations"), status: 200})
|
95
114
|
invitations = client.organization.list_invitations
|
96
115
|
|
97
|
-
assert_equal
|
98
|
-
assert_equal
|
116
|
+
assert_equal Calendlyr::Collection, invitations.class
|
117
|
+
assert_equal Calendlyr::Invitation, invitations.data.first.class
|
99
118
|
assert_equal 1, invitations.count
|
100
119
|
assert_equal "sNjq4TvMDfUHEl7zHRR0k0E1PCEJWvdi", invitations.next_page_token
|
101
120
|
end
|
102
121
|
|
103
122
|
def test_organization_revoke_invitation
|
104
|
-
stub(path: "users/me", response: {body: fixture_file("users/retrieve"), status: 200})
|
105
123
|
stub(method: :delete, path: "organizations/#{client.organization.uuid}/invitations/AAAAAAAAAAAAAAAA", response: {body: fixture_file("organizations/revoke_invitation")})
|
106
124
|
assert client.organization.revoke_invitation(invitation_uuid: "AAAAAAAAAAAAAAAA")
|
107
125
|
end
|
108
126
|
|
109
127
|
def test_organization_invitation
|
110
|
-
stub(path: "users/me", response: {body: fixture_file("users/retrieve"), status: 200})
|
111
128
|
response = {body: fixture_file("organizations/retrieve_invitation"), status: 200}
|
112
129
|
stub(path: "organizations/#{client.organization.uuid}/invitations/AAAAAAAAAAAAAAAA", response: response)
|
113
130
|
invitation = client.organization.invitation(invitation_uuid: "AAAAAAAAAAAAAAAA")
|
114
131
|
|
115
|
-
assert_equal
|
132
|
+
assert_equal Calendlyr::Invitation, invitation.class
|
116
133
|
assert_equal "test@example.com", invitation.email
|
117
134
|
end
|
118
135
|
|
119
136
|
def test_organization_events
|
120
|
-
stub(path: "users/me", response: {body: fixture_file("users/retrieve"), status: 200})
|
121
137
|
stub(path: "scheduled_events?organization=#{client.organization.uri}", response: {body: fixture_file("events/list"), status: 200})
|
122
138
|
events = client.organization.events
|
123
139
|
|
124
|
-
assert_equal
|
125
|
-
assert_equal
|
140
|
+
assert_equal Calendlyr::Collection, events.class
|
141
|
+
assert_equal Calendlyr::Event, events.data.first.class
|
126
142
|
assert_equal 1, events.count
|
127
143
|
assert_equal "sNjq4TvMDfUHEl7zHRR0k0E1PCEJWvdi", events.next_page_token
|
128
144
|
end
|
129
145
|
|
130
146
|
def test_organization_memberships
|
131
|
-
stub(path: "users/me", response: {body: fixture_file("users/retrieve"), status: 200})
|
132
147
|
stub(path: "organization_memberships?organization=#{client.organization.uri}", response: {body: fixture_file("organizations/list_memberships"), status: 200})
|
133
148
|
memberships = client.organization.memberships
|
134
149
|
|
135
|
-
assert_equal
|
136
|
-
assert_equal
|
150
|
+
assert_equal Calendlyr::Collection, memberships.class
|
151
|
+
assert_equal Calendlyr::Membership, memberships.data.first.class
|
137
152
|
assert_equal 1, memberships.count
|
138
153
|
assert_equal "sNjq4TvMDfUHEl7zHRR0k0E1PCEJWvdi", memberships.next_page_token
|
139
154
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "test_helper"
|
4
|
+
|
5
|
+
class SchedulingLinksResourceTest < Minitest::Test
|
6
|
+
def test_create
|
7
|
+
owner_uri = "https://api.calendly.com/event_types/GBGBDCAADAEDCRZ2"
|
8
|
+
max_event_count = 20
|
9
|
+
owner_type = "EventType"
|
10
|
+
response = {body: fixture_file("scheduling_links/create"), status: 201}
|
11
|
+
stub(method: :post, path: "scheduling_links", body: {owner: owner_uri, max_event_count: max_event_count, owner_type: owner_type}, response: response)
|
12
|
+
|
13
|
+
assert client.scheduling_links.create(owner_uri: owner_uri, max_event_count: max_event_count, owner_type: owner_type)
|
14
|
+
end
|
15
|
+
end
|
@@ -9,7 +9,7 @@ class UsersResourceTest < Minitest::Test
|
|
9
9
|
stub(path: "users/#{user_uuid}", response: response)
|
10
10
|
user = client.users.retrieve(user_uuid: user_uuid)
|
11
11
|
|
12
|
-
assert_equal
|
12
|
+
assert_equal Calendlyr::User, user.class
|
13
13
|
assert_equal "https://api.calendly.com/users/AAAAAAAAAAAAAAAA", user.uri
|
14
14
|
assert_equal "John Doe", user.name
|
15
15
|
assert_equal "acmesales", user.slug
|
@@ -21,58 +21,70 @@ class UsersResourceTest < Minitest::Test
|
|
21
21
|
stub(path: "users/me", response: response)
|
22
22
|
me = client.me
|
23
23
|
|
24
|
-
assert_equal
|
24
|
+
assert_equal Calendlyr::User, me.class
|
25
25
|
assert_equal "https://api.calendly.com/users/AAAAAAAAAAAAAAAA", me.uri
|
26
26
|
assert_equal "John Doe", me.name
|
27
27
|
assert_equal "acmesales", me.slug
|
28
28
|
assert_equal "test@example.com", me.email
|
29
29
|
end
|
30
30
|
|
31
|
+
def test_me_caching
|
32
|
+
response = {body: fixture_file("users/retrieve"), status: 200}
|
33
|
+
stub = stub(path: "users/me", response: response)
|
34
|
+
me = client.me
|
35
|
+
remove_request_stub(stub)
|
36
|
+
assert_equal client.me, me
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_me_caching_reload
|
40
|
+
me = client.me
|
41
|
+
stub(path: "users/me", response: {body: fixture_file("users/reload"), status: 200})
|
42
|
+
reloaded_me = client.me(force_reload: true)
|
43
|
+
assert me.name != reloaded_me.name
|
44
|
+
end
|
45
|
+
|
31
46
|
def test_organization
|
32
47
|
response = {body: fixture_file("users/retrieve"), status: 200}
|
33
48
|
stub(path: "users/me", response: response)
|
34
49
|
organization = client.organization
|
35
50
|
|
36
|
-
assert_equal
|
51
|
+
assert_equal Calendlyr::Organization, organization.class
|
37
52
|
assert_equal "https://api.calendly.com/organizations/AAAAAAAAAAAAAAAA", organization.uri
|
38
53
|
assert_equal "AAAAAAAAAAAAAAAA", organization.uuid
|
39
54
|
end
|
40
55
|
|
41
56
|
def test_event_types
|
42
|
-
stub(path: "users/me", response: {body: fixture_file("users/retrieve"), status: 200})
|
43
57
|
me = client.me
|
44
58
|
|
45
59
|
stub(path: "event_types?user=#{me.uri}&organization=#{me.organization.uri}", response: {body: fixture_file("event_types/list"), status: 200})
|
46
60
|
event_types = client.me.event_types
|
47
61
|
|
48
|
-
assert_equal
|
49
|
-
assert_equal
|
62
|
+
assert_equal Calendlyr::Collection, event_types.class
|
63
|
+
assert_equal Calendlyr::EventType, event_types.data.first.class
|
50
64
|
assert_equal 1, event_types.count
|
51
65
|
assert_equal "sNjq4TvMDfUHEl7zHRR0k0E1PCEJWvdi", event_types.next_page_token
|
52
66
|
end
|
53
67
|
|
54
68
|
def test_events
|
55
|
-
stub(path: "users/me", response: {body: fixture_file("users/retrieve"), status: 200})
|
56
69
|
me = client.me
|
57
70
|
|
58
71
|
stub(path: "scheduled_events?user=#{me.uri}&organization=#{me.organization.uri}", response: {body: fixture_file("events/list"), status: 200})
|
59
72
|
events = client.me.events
|
60
73
|
|
61
|
-
assert_equal
|
62
|
-
assert_equal
|
74
|
+
assert_equal Calendlyr::Collection, events.class
|
75
|
+
assert_equal Calendlyr::Event, events.data.first.class
|
63
76
|
assert_equal 1, events.count
|
64
77
|
assert_equal "sNjq4TvMDfUHEl7zHRR0k0E1PCEJWvdi", events.next_page_token
|
65
78
|
end
|
66
79
|
|
67
80
|
def test_memberships
|
68
|
-
stub(path: "users/me", response: {body: fixture_file("users/retrieve"), status: 200})
|
69
81
|
me = client.me
|
70
82
|
|
71
83
|
stub(path: "organization_memberships?user=#{me.uri}&organization=#{me.organization.uri}", response: {body: fixture_file("organizations/list_memberships"), status: 200})
|
72
84
|
memberships = client.me.memberships(organization_uri: me.organization.uri)
|
73
85
|
|
74
|
-
assert_equal
|
75
|
-
assert_equal
|
86
|
+
assert_equal Calendlyr::Collection, memberships.class
|
87
|
+
assert_equal Calendlyr::Membership, memberships.data.first.class
|
76
88
|
assert_equal 1, memberships.count
|
77
89
|
assert_equal "sNjq4TvMDfUHEl7zHRR0k0E1PCEJWvdi", memberships.next_page_token
|
78
90
|
end
|
@@ -10,8 +10,8 @@ class WebhooksResourceTest < Minitest::Test
|
|
10
10
|
stub(path: "webhook_subscriptions?organization=#{organization_uri}&scope=#{scope}", response: response)
|
11
11
|
webhooks = client.webhooks.list(organization_uri: organization_uri, scope: scope)
|
12
12
|
|
13
|
-
assert_equal
|
14
|
-
assert_equal
|
13
|
+
assert_equal Calendlyr::Collection, webhooks.class
|
14
|
+
assert_equal Calendlyr::Webhook, webhooks.data.first.class
|
15
15
|
assert_equal 1, webhooks.count
|
16
16
|
assert_equal "sNjq4TvMDfUHEl7zHRR0k0E1PCEJWvdi", webhooks.next_page_token
|
17
17
|
end
|
@@ -21,16 +21,19 @@ class WebhooksResourceTest < Minitest::Test
|
|
21
21
|
stub(method: :post, path: "webhook_subscriptions", body: body, response: {body: fixture_file("webhooks/create"), status: 201})
|
22
22
|
|
23
23
|
assert client.webhooks.create(url: body[:url], events: body[:events], organization_uri: body[:organization], scope: body[:scope], user_uri: body[:user])
|
24
|
+
assert client.organization.create_webhook(url: body[:url], events: body[:events], scope: body[:scope], user_uri: body[:user])
|
24
25
|
end
|
25
26
|
|
26
27
|
def test_retrieve
|
27
28
|
webhook_uuid = "AAAAAAAAAAAAAAAA"
|
28
|
-
response
|
29
|
-
stub(path: "
|
29
|
+
stub(path: "webhook_subscriptions/#{webhook_uuid}", response: {body: fixture_file("webhooks/retrieve"), status: 200})
|
30
|
+
stub(path: "users/AAAAAAAAAAAAAAAA", response: {body: fixture_file("users/retrieve"), status: 200})
|
30
31
|
webhook = client.webhooks.retrieve(webhook_uuid: webhook_uuid)
|
31
32
|
|
32
|
-
assert_equal
|
33
|
+
assert_equal Calendlyr::Webhook, webhook.class
|
33
34
|
assert_equal "user", webhook.scope
|
35
|
+
assert_equal webhook.associated_user, client.users.retrieve(user_uuid: "AAAAAAAAAAAAAAAA")
|
36
|
+
assert_equal webhook.associated_organization, client.users.retrieve(user_uuid: "AAAAAAAAAAAAAAAA").organization
|
34
37
|
end
|
35
38
|
|
36
39
|
def test_delete
|
@@ -1,9 +1,11 @@
|
|
1
1
|
{
|
2
|
-
"
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
2
|
+
"resource": {
|
3
|
+
"created_at": "2020-01-01T20:30:00Z",
|
4
|
+
"email": "email@example.com",
|
5
|
+
"last_sent_at": "2020-01-01T20:30:00Z",
|
6
|
+
"organization": "https://api.calendly.com/organizations/ABCDABCDABCDABCD",
|
7
|
+
"status": "pending",
|
8
|
+
"updated_at": "2020-01-01T20:30:00Z",
|
9
|
+
"uri": "https://api.calendly.com/organizations/ABCDABCDABCDABCD/invitations/DCBADCBADCBADCBA"
|
10
|
+
}
|
9
11
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"collection": [
|
3
3
|
{
|
4
|
-
"uri": "https://api.calendly.com/organizations/AAAAAAAAAAAAAAAA/invitations",
|
4
|
+
"uri": "https://api.calendly.com/organizations/AAAAAAAAAAAAAAAA/invitations/AAAAAAAAAAAAAAAA",
|
5
5
|
"organization": "https://api.calendly.com/organizations/AAAAAAAAAAAAAAAA",
|
6
6
|
"email": "test@example.com",
|
7
7
|
"status": "accepted",
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"resource": {
|
3
|
-
"uri": "https://api.calendly.com/organizations/AAAAAAAAAAAAAAAA/invitations",
|
3
|
+
"uri": "https://api.calendly.com/organizations/AAAAAAAAAAAAAAAA/invitations/AAAAAAAAAAAAAAAA",
|
4
4
|
"organization": "https://api.calendly.com/organizations/AAAAAAAAAAAAAAAA",
|
5
5
|
"email": "test@example.com",
|
6
6
|
"status": "accepted",
|
@@ -0,0 +1,14 @@
|
|
1
|
+
{
|
2
|
+
"resource": {
|
3
|
+
"uri": "https://api.calendly.com/users/AAAAAAAAAAAAAAAA",
|
4
|
+
"name": "John Doe Reloaded",
|
5
|
+
"slug": "acmesales",
|
6
|
+
"email": "test@example.com",
|
7
|
+
"scheduling_url": "https://calendly.com/acmesales",
|
8
|
+
"timezone": "America/New York",
|
9
|
+
"avatar_url": "https://01234567890.cloudfront.net/uploads/user/avatar/0123456/a1b2c3d4.png",
|
10
|
+
"created_at": "2019-01-02T03:04:05.678Z",
|
11
|
+
"updated_at": "2019-08-07T06:05:04.321Z",
|
12
|
+
"current_organization": "https://api.calendly.com/organizations/AAAAAAAAAAAAAAAA"
|
13
|
+
}
|
14
|
+
}
|
data/test/test_helper.rb
CHANGED
@@ -6,13 +6,18 @@ if ENV["CI"] == "true"
|
|
6
6
|
require "codecov"
|
7
7
|
SimpleCov.formatter = SimpleCov::Formatter::Codecov
|
8
8
|
end
|
9
|
-
require "
|
9
|
+
require "calendlyr"
|
10
10
|
require "minitest/autorun"
|
11
11
|
require "webmock/minitest"
|
12
12
|
|
13
13
|
class Minitest::Test
|
14
|
+
def initialize(name)
|
15
|
+
stub(path: "users/me", response: {body: fixture_file("users/retrieve"), status: 200})
|
16
|
+
super
|
17
|
+
end
|
18
|
+
|
14
19
|
def client
|
15
|
-
|
20
|
+
@client ||= Calendlyr::Client.new(token: "fake")
|
16
21
|
end
|
17
22
|
|
18
23
|
def fixture_file(fixture)
|
@@ -20,8 +25,9 @@ class Minitest::Test
|
|
20
25
|
end
|
21
26
|
|
22
27
|
def stub(path:, method: :get, body: {}, response: {})
|
23
|
-
stub_req = stub_request(method, "#{
|
28
|
+
stub_req = stub_request(method, "#{Calendlyr::Client::BASE_URL}/#{path}")
|
24
29
|
stub_req.with(body: body) if [:post, :put, :patch].include?(method)
|
25
30
|
stub_req.to_return(**response)
|
31
|
+
stub_req
|
26
32
|
end
|
27
33
|
end
|