zendesk2 1.4.2 → 1.5.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (153) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -1
  3. data/lib/zendesk2/attributes.rb +1 -1
  4. data/lib/zendesk2/{collection.rb → client/collection.rb} +22 -17
  5. data/lib/zendesk2/client/collections/categories.rb +2 -1
  6. data/lib/zendesk2/client/collections/forums.rb +2 -1
  7. data/lib/zendesk2/client/collections/groups.rb +4 -3
  8. data/lib/zendesk2/client/collections/help_center/articles.rb +2 -1
  9. data/lib/zendesk2/client/collections/help_center/categories.rb +2 -1
  10. data/lib/zendesk2/client/collections/help_center/sections.rb +2 -1
  11. data/lib/zendesk2/client/collections/memberships.rb +9 -7
  12. data/lib/zendesk2/client/collections/organizations.rb +3 -2
  13. data/lib/zendesk2/client/collections/ticket_audits.rb +5 -4
  14. data/lib/zendesk2/client/collections/ticket_comments.rb +4 -3
  15. data/lib/zendesk2/client/collections/ticket_fields.rb +3 -1
  16. data/lib/zendesk2/client/collections/tickets.rb +2 -1
  17. data/lib/zendesk2/client/collections/topic_comments.rb +2 -1
  18. data/lib/zendesk2/client/collections/topics.rb +2 -1
  19. data/lib/zendesk2/client/collections/user_fields.rb +3 -1
  20. data/lib/zendesk2/client/collections/user_identities.rb +3 -1
  21. data/lib/zendesk2/client/collections/users.rb +3 -2
  22. data/lib/zendesk2/client/help_center.rb +3 -0
  23. data/lib/zendesk2/client/mock.rb +7 -130
  24. data/lib/zendesk2/{model.rb → client/model.rb} +7 -3
  25. data/lib/zendesk2/client/models/audit_event.rb +2 -2
  26. data/lib/zendesk2/client/models/category.rb +8 -8
  27. data/lib/zendesk2/client/models/forum.rb +11 -16
  28. data/lib/zendesk2/client/models/group.rb +8 -13
  29. data/lib/zendesk2/client/models/help_center/article.rb +12 -16
  30. data/lib/zendesk2/client/models/help_center/category.rb +12 -16
  31. data/lib/zendesk2/client/models/help_center/section.rb +12 -16
  32. data/lib/zendesk2/client/models/membership.rb +10 -12
  33. data/lib/zendesk2/client/models/organization.rb +13 -20
  34. data/lib/zendesk2/client/models/ticket.rb +21 -19
  35. data/lib/zendesk2/client/models/ticket_audit.rb +3 -3
  36. data/lib/zendesk2/client/models/ticket_comment.rb +1 -1
  37. data/lib/zendesk2/client/models/ticket_comment_privacy_change.rb +1 -1
  38. data/lib/zendesk2/client/models/ticket_field.rb +5 -13
  39. data/lib/zendesk2/client/models/ticket_metric.rb +1 -1
  40. data/lib/zendesk2/client/models/ticket_voice_comment.rb +1 -1
  41. data/lib/zendesk2/client/models/topic.rb +9 -14
  42. data/lib/zendesk2/client/models/topic_comment.rb +14 -19
  43. data/lib/zendesk2/client/models/user.rb +25 -32
  44. data/lib/zendesk2/client/models/user_field.rb +10 -18
  45. data/lib/zendesk2/client/models/user_identity.rb +9 -18
  46. data/lib/zendesk2/client/real.rb +7 -8
  47. data/lib/zendesk2/client/request.rb +271 -0
  48. data/lib/zendesk2/client/requests/create_category.rb +19 -27
  49. data/lib/zendesk2/client/requests/create_forum.rb +23 -28
  50. data/lib/zendesk2/client/requests/create_group.rb +25 -29
  51. data/lib/zendesk2/client/requests/create_help_center_article.rb +54 -60
  52. data/lib/zendesk2/client/requests/create_help_center_category.rb +35 -47
  53. data/lib/zendesk2/client/requests/create_help_center_section.rb +49 -55
  54. data/lib/zendesk2/client/requests/create_membership.rb +42 -42
  55. data/lib/zendesk2/client/requests/create_organization.rb +30 -40
  56. data/lib/zendesk2/client/requests/create_ticket.rb +76 -85
  57. data/lib/zendesk2/client/requests/create_ticket_field.rb +36 -40
  58. data/lib/zendesk2/client/requests/create_topic.rb +23 -28
  59. data/lib/zendesk2/client/requests/create_topic_comment.rb +27 -31
  60. data/lib/zendesk2/client/requests/create_user.rb +51 -56
  61. data/lib/zendesk2/client/requests/create_user_field.rb +36 -40
  62. data/lib/zendesk2/client/requests/create_user_identity.rb +39 -44
  63. data/lib/zendesk2/client/requests/destroy_category.rb +8 -21
  64. data/lib/zendesk2/client/requests/destroy_forum.rb +8 -23
  65. data/lib/zendesk2/client/requests/destroy_group.rb +8 -21
  66. data/lib/zendesk2/client/requests/destroy_help_center_article.rb +8 -18
  67. data/lib/zendesk2/client/requests/destroy_help_center_category.rb +8 -18
  68. data/lib/zendesk2/client/requests/destroy_help_center_section.rb +10 -18
  69. data/lib/zendesk2/client/requests/destroy_membership.rb +8 -22
  70. data/lib/zendesk2/client/requests/destroy_organization.rb +8 -21
  71. data/lib/zendesk2/client/requests/destroy_ticket.rb +8 -21
  72. data/lib/zendesk2/client/requests/destroy_ticket_field.rb +8 -21
  73. data/lib/zendesk2/client/requests/destroy_topic.rb +8 -23
  74. data/lib/zendesk2/client/requests/destroy_topic_comment.rb +11 -24
  75. data/lib/zendesk2/client/requests/destroy_user.rb +17 -43
  76. data/lib/zendesk2/client/requests/destroy_user_field.rb +7 -22
  77. data/lib/zendesk2/client/requests/destroy_user_identity.rb +10 -25
  78. data/lib/zendesk2/client/requests/get_assignable_groups.rb +8 -16
  79. data/lib/zendesk2/client/requests/get_categories.rb +7 -15
  80. data/lib/zendesk2/client/requests/get_category.rb +11 -22
  81. data/lib/zendesk2/client/requests/get_ccd_tickets.rb +11 -18
  82. data/lib/zendesk2/client/requests/get_current_user.rb +6 -16
  83. data/lib/zendesk2/client/requests/get_forum.rb +11 -23
  84. data/lib/zendesk2/client/requests/get_forums.rb +7 -15
  85. data/lib/zendesk2/client/requests/get_group.rb +9 -23
  86. data/lib/zendesk2/client/requests/get_groups.rb +7 -15
  87. data/lib/zendesk2/client/requests/get_help_center_article.rb +13 -37
  88. data/lib/zendesk2/client/requests/get_help_center_articles.rb +6 -15
  89. data/lib/zendesk2/client/requests/get_help_center_categories.rb +6 -15
  90. data/lib/zendesk2/client/requests/get_help_center_category.rb +13 -37
  91. data/lib/zendesk2/client/requests/get_help_center_section.rb +14 -37
  92. data/lib/zendesk2/client/requests/get_help_center_sections.rb +6 -15
  93. data/lib/zendesk2/client/requests/get_membership.rb +9 -24
  94. data/lib/zendesk2/client/requests/get_organization.rb +9 -22
  95. data/lib/zendesk2/client/requests/get_organization_by_external_id.rb +11 -20
  96. data/lib/zendesk2/client/requests/get_organization_memberships.rb +10 -16
  97. data/lib/zendesk2/client/requests/get_organization_tickets.rb +14 -21
  98. data/lib/zendesk2/client/requests/get_organization_users.rb +12 -20
  99. data/lib/zendesk2/client/requests/get_organizations.rb +7 -16
  100. data/lib/zendesk2/client/requests/get_requested_tickets.rb +12 -18
  101. data/lib/zendesk2/client/requests/get_ticket.rb +9 -23
  102. data/lib/zendesk2/client/requests/get_ticket_audits.rb +12 -18
  103. data/lib/zendesk2/client/requests/get_ticket_comments.rb +10 -19
  104. data/lib/zendesk2/client/requests/get_ticket_field.rb +9 -22
  105. data/lib/zendesk2/client/requests/get_ticket_fields.rb +7 -15
  106. data/lib/zendesk2/client/requests/get_tickets.rb +7 -15
  107. data/lib/zendesk2/client/requests/get_topic.rb +8 -23
  108. data/lib/zendesk2/client/requests/get_topic_comment.rb +12 -28
  109. data/lib/zendesk2/client/requests/get_topic_comments.rb +13 -18
  110. data/lib/zendesk2/client/requests/get_topics.rb +6 -15
  111. data/lib/zendesk2/client/requests/get_user.rb +15 -28
  112. data/lib/zendesk2/client/requests/get_user_field.rb +9 -22
  113. data/lib/zendesk2/client/requests/get_user_identities.rb +11 -18
  114. data/lib/zendesk2/client/requests/get_user_identity.rb +11 -21
  115. data/lib/zendesk2/client/requests/get_user_memberships.rb +12 -18
  116. data/lib/zendesk2/client/requests/get_users.rb +7 -15
  117. data/lib/zendesk2/client/requests/mark_membership_default.rb +17 -28
  118. data/lib/zendesk2/client/requests/mark_user_identity_primary.rb +17 -30
  119. data/lib/zendesk2/client/requests/search.rb +30 -19
  120. data/lib/zendesk2/client/requests/search_help_center_articles.rb +22 -18
  121. data/lib/zendesk2/client/requests/search_organization.rb +40 -28
  122. data/lib/zendesk2/client/requests/search_user.rb +56 -44
  123. data/lib/zendesk2/client/requests/update_category.rb +14 -24
  124. data/lib/zendesk2/client/requests/update_forum.rb +13 -25
  125. data/lib/zendesk2/client/requests/update_group.rb +12 -24
  126. data/lib/zendesk2/client/requests/update_help_center_article.rb +17 -42
  127. data/lib/zendesk2/client/requests/update_help_center_category.rb +17 -42
  128. data/lib/zendesk2/client/requests/update_help_center_section.rb +17 -42
  129. data/lib/zendesk2/client/requests/update_organization.rb +23 -35
  130. data/lib/zendesk2/client/requests/update_ticket.rb +63 -63
  131. data/lib/zendesk2/client/requests/update_ticket_field.rb +12 -24
  132. data/lib/zendesk2/client/requests/update_topic.rb +11 -25
  133. data/lib/zendesk2/client/requests/update_user.rb +47 -62
  134. data/lib/zendesk2/client/requests/update_user_field.rb +11 -23
  135. data/lib/zendesk2/client/requests/update_user_identity.rb +20 -28
  136. data/lib/zendesk2/client.rb +52 -28
  137. data/lib/zendesk2/paged_collection.rb +9 -9
  138. data/lib/zendesk2/searchable.rb +1 -1
  139. data/lib/zendesk2/version.rb +1 -1
  140. data/lib/zendesk2.rb +1 -13
  141. data/spec/categories_spec.rb +132 -0
  142. data/spec/forums_spec.rb +132 -0
  143. data/spec/lib/paged_collection_spec.rb +2 -2
  144. data/spec/memberships_spec.rb +5 -9
  145. data/spec/organizations_spec.rb +176 -25
  146. data/spec/spec_helper.rb +2 -0
  147. data/spec/tickets_spec.rb +2 -2
  148. data/spec/topic_comments_spec.rb +2 -2
  149. data/spec/user_identities_spec.rb +9 -6
  150. data/spec/users_spec.rb +22 -21
  151. data/zendesk2.gemspec +1 -2
  152. metadata +7 -21
  153. data/lib/zendesk2/client/requests/update_topic_comment.rb +0 -37
@@ -1,41 +1,17 @@
1
- class Zendesk2::Client
2
- class Real
3
- def get_help_center_category(params={})
4
- id = require_parameters(params, "id")
5
- locale = params["locale"]
6
-
7
- path = if locale
8
- "/help_center/#{locale}/categories/#{id}.json"
9
- else
10
- "/help_center/categories/#{id}.json"
11
- end
12
-
13
-
14
- request(
15
- :method => :get,
16
- :path => path,
17
- )
1
+ class Zendesk2::Client::GetHelpCenterCategory < Zendesk2::Client::Request
2
+ request_path { |r|
3
+ if locale = r.params.fetch("category")["locale"]
4
+ "/help_center/#{locale}/categories/#{r.category_id}.json"
5
+ else
6
+ "/help_center/categories/#{r.category_id}.json"
18
7
  end
19
- end # Real
8
+ }
20
9
 
21
- class Mock
22
- def get_help_center_category(params={})
23
- id = require_parameters(params, "id")
10
+ def category_id
11
+ params.fetch("category").fetch("id")
12
+ end
24
13
 
25
- locale = params["locale"]
26
-
27
- path = if locale
28
- "/help_center/#{locale}/categories/#{id}.json"
29
- else
30
- "/help_center/categories/#{id}.json"
31
- end
32
-
33
- response(
34
- :path => path,
35
- :body => {
36
- "category" => self.find!(:help_center_categories, id)
37
- },
38
- )
39
- end
40
- end # Mock
14
+ def mock
15
+ mock_response("category" => self.find!(:help_center_categories, category_id))
16
+ end
41
17
  end
@@ -1,41 +1,18 @@
1
- class Zendesk2::Client
2
- class Real
3
- def get_help_center_section(params={})
4
- id = require_parameters(params, "id")
5
- locale = params["locale"]
6
-
7
- path = if locale
8
- "/help_center/#{locale}/sections/#{id}.json"
9
- else
10
- "/help_center/sections/#{id}.json"
11
- end
12
-
13
-
14
- request(
15
- :method => :get,
16
- :path => path,
17
- )
1
+ class Zendesk2::Client::GetHelpCenterSection < Zendesk2::Client::Request
2
+ request_method :get
3
+ request_path { |r|
4
+ if locale = r.params.fetch("section")["locale"]
5
+ "/help_center/#{locale}/sections/#{r.section_id}.json"
6
+ else
7
+ "/help_center/sections/#{r.section_id}.json"
18
8
  end
19
- end # Real
9
+ }
20
10
 
21
- class Mock
22
- def get_help_center_section(params={})
23
- id = require_parameters(params, "id")
11
+ def section_id
12
+ params.fetch("section").fetch("id")
13
+ end
24
14
 
25
- locale = params["locale"]
26
-
27
- path = if locale
28
- "/help_center/#{locale}/sections/#{id}.json"
29
- else
30
- "/help_center/sections/#{id}.json"
31
- end
32
-
33
- response(
34
- :path => path,
35
- :body => {
36
- "section" => self.find!(:help_center_sections, id)
37
- },
38
- )
39
- end
40
- end # Mock
15
+ def mock(params={})
16
+ mock_response("section" => self.find!(:help_center_sections, section_id))
17
+ end
41
18
  end
@@ -1,18 +1,9 @@
1
- class Zendesk2::Client
2
- class Real
3
- def get_help_center_sections(params={})
4
- page_params = Zendesk2.paging_parameters(params)
1
+ class Zendesk2::Client::GetHelpCenterSections < Zendesk2::Client::Request
2
+ request_path { |_| "/help_center/sections.json" }
5
3
 
6
- request(
7
- :params => page_params,
8
- :method => :get,
9
- :path => "/help_center/sections.json",
10
- )
11
- end
12
- end
13
- class Mock
14
- def get_help_center_sections(params={})
15
- page(params, :help_center_sections, "/help_center_sections.json", "sections")
16
- end
4
+ page_params!
5
+
6
+ def mock
7
+ page(:help_center_sections, root: "sections")
17
8
  end
18
9
  end
@@ -1,27 +1,12 @@
1
- class Zendesk2::Client
2
- class Real
3
- def get_membership(params={})
4
- id = params["id"]
1
+ class Zendesk2::Client::GetMembership < Zendesk2::Client::Request
2
+ request_method :get
3
+ request_path { |r| "/organization_memberships/#{r.membership_id}.json" }
5
4
 
6
- request(
7
- :method => :get,
8
- :path => "/organization_memberships/#{id}.json",
9
- )
10
- end
11
- end # Real
5
+ def membership_id
6
+ params.fetch("organization_membership").fetch("id")
7
+ end
12
8
 
13
- class Mock
14
- def get_membership(params={})
15
- membership_id = params["id"]
16
-
17
- path = "/organization_memberships/#{membership_id}.json"
18
-
19
- response(
20
- :path => path,
21
- :body => {
22
- "organization_membership" => find!(:memberships, membership_id)
23
- },
24
- )
25
- end
26
- end # Mock
9
+ def mock
10
+ mock_response("organization_membership" => find!(:memberships, membership_id))
11
+ end
27
12
  end
@@ -1,25 +1,12 @@
1
- class Zendesk2::Client
2
- class Real
3
- def get_organization(params={})
4
- id = params["id"]
1
+ class Zendesk2::Client::GetOrganization < Zendesk2::Client::Request
2
+ request_method :get
3
+ request_path { |r| "/organizations/#{r.organization_id}.json" }
5
4
 
6
- request(
7
- :method => :get,
8
- :path => "/organizations/#{id}.json"
9
- )
10
- end
11
- end # Real
5
+ def organization_id
6
+ params.fetch("organization").fetch("id").to_i
7
+ end
12
8
 
13
- class Mock
14
- def get_organization(params={})
15
- id = params["id"]
16
-
17
- response(
18
- :path => "/organizations/#{id}.json",
19
- :body => {
20
- "organization" => find!(:organizations, id)
21
- },
22
- )
23
- end
24
- end # Mock
9
+ def mock
10
+ mock_response("organization" => find!(:organizations, organization_id))
11
+ end
25
12
  end
@@ -1,24 +1,15 @@
1
- class Zendesk2::Client
2
- class Real
3
- def get_organization_by_external_id(external_id)
4
- request(
5
- :method => :get,
6
- :params => { external_id: external_id },
7
- :path => "/organizations/search.json",
8
- )
9
- end
10
- end # Real
1
+ class Zendesk2::Client::GetOrganizationByExternalId < Zendesk2::Client::Request
2
+ request_method :get
3
+ request_params { |r| { "external_id" => r.external_id } }
4
+ request_path { |_| "/organizations/search.json" }
11
5
 
12
- class Mock
13
- def get_organization_by_external_id(external_id)
14
- collection = self.data[:organizations]
6
+ def external_id
7
+ params.fetch("external_id")
8
+ end
15
9
 
16
- results = collection.select { |k,v| v["external_id"].to_s == external_id.to_s }.values
10
+ def mock
11
+ results = self.data[:organizations].select { |k,v| v["external_id"].to_s == external_id.to_s }.values
17
12
 
18
- response(
19
- :path => "/organizations/search.json",
20
- :body => {"organizations" => results},
21
- )
22
- end
23
- end # Mock
13
+ mock_response("organizations" => results)
14
+ end
24
15
  end
@@ -1,20 +1,14 @@
1
- class Zendesk2::Client
2
- class Real
3
- def get_organization_memberships(params={})
4
- organization_id = params["organization_id"]
1
+ class Zendesk2::Client::GetOrganizationMemberships < Zendesk2::Client::Request
2
+ request_method :get
3
+ request_path { |r| "/organizations/#{r.organization_id}/memberships.json" }
5
4
 
6
- request(
7
- :method => :get,
8
- :path => "/organizations/#{organization_id}/memberships.json",
9
- )
10
- end
11
- end # Real
5
+ def organization_id
6
+ params.fetch("membership").fetch("organization_id").to_i
7
+ end
12
8
 
13
- class Mock
14
- def get_organization_memberships(params={})
15
- organization_id = params["organization_id"]
9
+ def mock
10
+ memberships = self.data[:memberships].values.select { |m| m["organization_id"] == organization_id }
16
11
 
17
- resources(:memberships, "/organizations/#{organization_id}/memberships.json", "organization_memberships", filter: lambda { |c| c.select { |m| m["organization_id"] == organization_id } })
18
- end
19
- end # Mock
12
+ resources(memberships, root: "organization_memberships")
13
+ end
20
14
  end
@@ -1,25 +1,18 @@
1
- class Zendesk2::Client
2
- class Real
3
- def get_organization_tickets(params={})
4
- id = require_parameters(params, "id").to_s
5
- page_params = Zendesk2.paging_parameters(params)
1
+ class Zendesk2::Client::GetOrganizationTickets < Zendesk2::Client::Request
2
+ request_method :get
3
+ request_path { |r| "/organizations/#{r.organization_id}/tickets.json" }
6
4
 
7
- request(
8
- :params => page_params,
9
- :method => :get,
10
- :path => "/organizations/#{id}/tickets.json",
11
- )
12
- end
13
- end # Real
5
+ page_params!
14
6
 
15
- class Mock
16
- def get_organization_tickets(params={})
17
- id = require_parameters(params, "id").to_s
7
+ def organization_id
8
+ params.fetch("organization_id").to_i
9
+ end
18
10
 
19
- requesters = self.data[:users].values.select { |u| u["organization_id"] == id }.map { |s| s["organization_id"].to_s }
20
- page(params, :tickets, "/organizations/#{id}/tickets.json", "tickets",
21
- :filter => lambda { |c| c.select { |u| requesters.include?(u["organization_id"].to_s) } }
22
- )
23
- end
24
- end # Mock
11
+ def mock(params={})
12
+ requesters = self.data[:users].values.select { |u| u["organization_id"] == organization_id }.map { |s| s["organization_id"] }
13
+
14
+ tickets = self.data[:tickets].values.select { |t| requesters.include?(t["organization_id"]) }
15
+
16
+ page(tickets, root: "tickets")
17
+ end
25
18
  end
@@ -1,24 +1,16 @@
1
- class Zendesk2::Client
2
- class Real
3
- def get_organization_users(params={})
4
- id = require_parameters(params, "id").to_s
5
- page_params = Zendesk2.paging_parameters(params)
1
+ class Zendesk2::Client::GetOrganizationUsers < Zendesk2::Client::Request
2
+ request_method :get
3
+ request_path { |r| "/organizations/#{r.organization_id}/users.json" }
6
4
 
7
- request(
8
- :params => page_params,
9
- :method => :get,
10
- :path => "/organizations/#{id}/users.json",
11
- )
12
- end
13
- end # Real
5
+ page_params!
14
6
 
15
- class Mock
16
- def get_organization_users(params={})
17
- id = require_parameters(params, "id").to_s
7
+ def organization_id
8
+ params.fetch("organization").fetch("id")
9
+ end
18
10
 
19
- page(params, :users, "/organizations/#{id}/users.json", "users",
20
- :filter => lambda { |c| c.select { |u| u["organization_id"].to_s == id } }
21
- )
22
- end
23
- end # Mock
11
+ def mock
12
+ users = self.data[:users].values.select { |u| u["organization_id"].to_i == organization_id.to_i }
13
+
14
+ page(users, root: "users")
15
+ end
24
16
  end
@@ -1,19 +1,10 @@
1
- class Zendesk2::Client
2
- class Real
3
- def get_organizations(params={})
4
- page_params = Zendesk2.paging_parameters(params)
1
+ class Zendesk2::Client::GetOrganizations < Zendesk2::Client::Request
2
+ request_method :get
3
+ request_path { |_| "/organizations.json" }
5
4
 
6
- request(
7
- :params => page_params,
8
- :method => :get,
9
- :url => params.delete("url"),
10
- :path => "/organizations.json",
11
- )
12
- end
13
- end
14
- class Mock
15
- def get_organizations(params={})
16
- page(params, :organizations, "/organizations.json", "organizations")
17
- end
5
+ page_params!
6
+
7
+ def mock
8
+ page(:organizations)
18
9
  end
19
10
  end
@@ -1,22 +1,16 @@
1
- class Zendesk2::Client
2
- class Real
3
- def get_requested_tickets(params={})
4
- id = params["id"]
5
- page_params = Zendesk2.paging_parameters(params)
1
+ class Zendesk2::Client::GetRequestedTickets < Zendesk2::Client::Request
2
+ request_method :get
3
+ request_path { |r| "/users/#{r.user_id}/tickets/requested.json" }
6
4
 
7
- request(
8
- :params => page_params,
9
- :method => :get,
10
- :path => "/users/#{id}/tickets/requested.json",
11
- )
12
- end
13
- end # Real
5
+ page_params!
14
6
 
15
- class Mock
16
- def get_requested_tickets(params={})
17
- id = params["id"].to_s
7
+ def user_id
8
+ params.fetch("user_id").to_i
9
+ end
18
10
 
19
- page(params, :tickets, "/requesteds/#{id}/tickets.json", "tickets", filter: lambda { |c| c.select { |u| u["requester_id"] == id } })
20
- end
21
- end # Mock
11
+ def mock(params={})
12
+ tickets = self.data[:tickets].values.select { |u| u["requester_id"] == user_id }
13
+
14
+ page(tickets, root: "tickets")
15
+ end
22
16
  end
@@ -1,26 +1,12 @@
1
- class Zendesk2::Client
2
- class Real
3
- def get_ticket(params={})
4
- id = params["id"]
1
+ class Zendesk2::Client::GetTicket < Zendesk2::Client::Request
2
+ request_method :get
3
+ request_path { |r| "/tickets/#{r.ticket_id}.json" }
5
4
 
6
- request(
7
- :method => :get,
8
- :path => "/tickets/#{id}.json"
9
- )
10
- end
11
- end # Real
5
+ def ticket_id
6
+ params.fetch("ticket").fetch("id")
7
+ end
12
8
 
13
- class Mock
14
- def get_ticket(params={})
15
- id = params["id"]
16
- path = "/tickets/#{id}.json"
17
-
18
- response(
19
- :path => path,
20
- :body => {
21
- "ticket" => self.find!(:tickets, id)
22
- },
23
- )
24
- end
25
- end # Mock
9
+ def mock
10
+ mock_response("ticket" => self.find!(:tickets, ticket_id))
11
+ end
26
12
  end