zendesk2 1.4.2 → 1.5.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.
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