zendesk2 1.9.0 → 1.10.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.
Files changed (222) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +30 -0
  3. data/.travis.yml +3 -1
  4. data/Gemfile +4 -5
  5. data/Guardfile +4 -3
  6. data/Rakefile +4 -3
  7. data/lib/zendesk2.rb +9 -6
  8. data/lib/zendesk2/attributes.rb +11 -8
  9. data/lib/zendesk2/audit_event.rb +5 -3
  10. data/lib/zendesk2/categories.rb +4 -3
  11. data/lib/zendesk2/category.rb +10 -5
  12. data/lib/zendesk2/client.rb +3 -3
  13. data/lib/zendesk2/collection.rb +35 -21
  14. data/lib/zendesk2/create_category.rb +10 -9
  15. data/lib/zendesk2/create_forum.rb +11 -10
  16. data/lib/zendesk2/create_group.rb +13 -12
  17. data/lib/zendesk2/create_membership.rb +21 -20
  18. data/lib/zendesk2/create_organization.rb +24 -18
  19. data/lib/zendesk2/create_ticket.rb +60 -56
  20. data/lib/zendesk2/create_ticket_field.rb +24 -22
  21. data/lib/zendesk2/create_topic.rb +11 -10
  22. data/lib/zendesk2/create_topic_comment.rb +12 -11
  23. data/lib/zendesk2/create_user.rb +54 -41
  24. data/lib/zendesk2/create_user_field.rb +22 -21
  25. data/lib/zendesk2/create_user_identity.rb +18 -15
  26. data/lib/zendesk2/create_view.rb +62 -62
  27. data/lib/zendesk2/destroy_category.rb +2 -1
  28. data/lib/zendesk2/destroy_forum.rb +2 -1
  29. data/lib/zendesk2/destroy_group.rb +3 -2
  30. data/lib/zendesk2/destroy_membership.rb +7 -5
  31. data/lib/zendesk2/destroy_organization.rb +3 -2
  32. data/lib/zendesk2/destroy_ticket.rb +3 -2
  33. data/lib/zendesk2/destroy_ticket_field.rb +3 -2
  34. data/lib/zendesk2/destroy_topic.rb +3 -2
  35. data/lib/zendesk2/destroy_topic_comment.rb +4 -3
  36. data/lib/zendesk2/destroy_user.rb +11 -10
  37. data/lib/zendesk2/destroy_user_field.rb +3 -2
  38. data/lib/zendesk2/destroy_user_identity.rb +4 -3
  39. data/lib/zendesk2/destroy_view.rb +3 -2
  40. data/lib/zendesk2/error.rb +1 -1
  41. data/lib/zendesk2/forum.rb +36 -18
  42. data/lib/zendesk2/forums.rb +4 -3
  43. data/lib/zendesk2/get_assignable_groups.rb +3 -2
  44. data/lib/zendesk2/get_categories.rb +2 -1
  45. data/lib/zendesk2/get_category.rb +3 -2
  46. data/lib/zendesk2/get_ccd_tickets.rb +4 -3
  47. data/lib/zendesk2/get_current_user.rb +3 -2
  48. data/lib/zendesk2/get_forum.rb +3 -2
  49. data/lib/zendesk2/get_forums.rb +2 -1
  50. data/lib/zendesk2/get_group.rb +3 -2
  51. data/lib/zendesk2/get_groups.rb +2 -1
  52. data/lib/zendesk2/get_membership.rb +3 -2
  53. data/lib/zendesk2/get_memberships.rb +3 -2
  54. data/lib/zendesk2/get_organization.rb +3 -2
  55. data/lib/zendesk2/get_organization_by_external_id.rb +8 -5
  56. data/lib/zendesk2/get_organization_memberships.rb +5 -2
  57. data/lib/zendesk2/get_organization_tickets.rb +7 -5
  58. data/lib/zendesk2/get_organization_users.rb +6 -5
  59. data/lib/zendesk2/get_organizations.rb +2 -1
  60. data/lib/zendesk2/get_requested_tickets.rb +5 -4
  61. data/lib/zendesk2/get_ticket.rb +3 -2
  62. data/lib/zendesk2/get_ticket_audit.rb +5 -4
  63. data/lib/zendesk2/get_ticket_audits.rb +4 -3
  64. data/lib/zendesk2/get_ticket_comments.rb +6 -5
  65. data/lib/zendesk2/get_ticket_field.rb +3 -2
  66. data/lib/zendesk2/get_ticket_fields.rb +2 -1
  67. data/lib/zendesk2/get_ticket_metric.rb +4 -3
  68. data/lib/zendesk2/get_ticket_metrics.rb +3 -2
  69. data/lib/zendesk2/get_tickets.rb +2 -1
  70. data/lib/zendesk2/get_topic.rb +3 -2
  71. data/lib/zendesk2/get_topic_comment.rb +4 -3
  72. data/lib/zendesk2/get_topic_comments.rb +5 -4
  73. data/lib/zendesk2/get_topics.rb +2 -1
  74. data/lib/zendesk2/get_user.rb +7 -7
  75. data/lib/zendesk2/get_user_field.rb +3 -2
  76. data/lib/zendesk2/get_user_fields.rb +3 -2
  77. data/lib/zendesk2/get_user_identities.rb +4 -3
  78. data/lib/zendesk2/get_user_identity.rb +4 -3
  79. data/lib/zendesk2/get_user_memberships.rb +4 -3
  80. data/lib/zendesk2/get_user_organizations.rb +5 -4
  81. data/lib/zendesk2/get_users.rb +3 -2
  82. data/lib/zendesk2/get_view.rb +3 -2
  83. data/lib/zendesk2/get_view_tickets.rb +19 -16
  84. data/lib/zendesk2/get_views.rb +2 -1
  85. data/lib/zendesk2/group.rb +6 -5
  86. data/lib/zendesk2/groups.rb +7 -6
  87. data/lib/zendesk2/help_center.rb +15 -0
  88. data/lib/zendesk2/help_center/access_policy.rb +3 -2
  89. data/lib/zendesk2/help_center/article.rb +10 -7
  90. data/lib/zendesk2/help_center/articles.rb +7 -7
  91. data/lib/zendesk2/help_center/categories.rb +3 -2
  92. data/lib/zendesk2/help_center/category.rb +8 -7
  93. data/lib/zendesk2/help_center/create_help_center_article.rb +31 -29
  94. data/lib/zendesk2/help_center/create_help_center_category.rb +17 -16
  95. data/lib/zendesk2/help_center/create_help_center_post.rb +37 -0
  96. data/lib/zendesk2/help_center/create_help_center_section.rb +32 -31
  97. data/lib/zendesk2/help_center/create_help_center_topic.rb +36 -0
  98. data/lib/zendesk2/help_center/create_help_center_translation.rb +15 -14
  99. data/lib/zendesk2/help_center/destroy_help_center_article.rb +3 -2
  100. data/lib/zendesk2/help_center/destroy_help_center_category.rb +3 -2
  101. data/lib/zendesk2/help_center/destroy_help_center_post.rb +15 -0
  102. data/lib/zendesk2/help_center/destroy_help_center_section.rb +3 -2
  103. data/lib/zendesk2/help_center/destroy_help_center_topic.rb +15 -0
  104. data/lib/zendesk2/help_center/destroy_help_center_translation.rb +2 -1
  105. data/lib/zendesk2/help_center/get_help_center_access_policy.rb +6 -5
  106. data/lib/zendesk2/help_center/get_help_center_article.rb +7 -9
  107. data/lib/zendesk2/help_center/get_help_center_articles.rb +3 -2
  108. data/lib/zendesk2/help_center/get_help_center_categories.rb +6 -2
  109. data/lib/zendesk2/help_center/get_help_center_categories_articles.rb +8 -7
  110. data/lib/zendesk2/help_center/get_help_center_categories_sections.rb +6 -5
  111. data/lib/zendesk2/help_center/get_help_center_category.rb +7 -9
  112. data/lib/zendesk2/help_center/get_help_center_post.rb +19 -0
  113. data/lib/zendesk2/help_center/get_help_center_posts.rb +28 -0
  114. data/lib/zendesk2/help_center/get_help_center_section.rb +8 -10
  115. data/lib/zendesk2/help_center/get_help_center_sections.rb +3 -2
  116. data/lib/zendesk2/help_center/get_help_center_sections_articles.rb +9 -8
  117. data/lib/zendesk2/help_center/get_help_center_topic.rb +14 -0
  118. data/lib/zendesk2/help_center/get_help_center_topics.rb +10 -0
  119. data/lib/zendesk2/help_center/get_help_center_translation.rb +5 -4
  120. data/lib/zendesk2/help_center/get_help_center_translations.rb +7 -6
  121. data/lib/zendesk2/help_center/post.rb +72 -0
  122. data/lib/zendesk2/help_center/posts.rb +18 -0
  123. data/lib/zendesk2/help_center/search_help_center_articles.rb +8 -7
  124. data/lib/zendesk2/help_center/section.rb +11 -11
  125. data/lib/zendesk2/help_center/sections.rb +7 -6
  126. data/lib/zendesk2/help_center/topic.rb +52 -0
  127. data/lib/zendesk2/help_center/topics.rb +13 -0
  128. data/lib/zendesk2/help_center/translation.rb +8 -5
  129. data/lib/zendesk2/help_center/translation_source.rb +16 -13
  130. data/lib/zendesk2/help_center/translations.rb +3 -2
  131. data/lib/zendesk2/help_center/update_help_center_access_policy.rb +8 -7
  132. data/lib/zendesk2/help_center/update_help_center_article.rb +9 -11
  133. data/lib/zendesk2/help_center/update_help_center_category.rb +9 -11
  134. data/lib/zendesk2/help_center/update_help_center_post.rb +20 -0
  135. data/lib/zendesk2/help_center/update_help_center_section.rb +9 -11
  136. data/lib/zendesk2/help_center/update_help_center_topic.rb +20 -0
  137. data/lib/zendesk2/help_center/update_help_center_translation.rb +4 -3
  138. data/lib/zendesk2/logger.rb +3 -2
  139. data/lib/zendesk2/mark_membership_default.rb +7 -6
  140. data/lib/zendesk2/mark_user_identity_primary.rb +7 -6
  141. data/lib/zendesk2/membership.rb +10 -8
  142. data/lib/zendesk2/memberships.rb +18 -12
  143. data/lib/zendesk2/mock.rb +39 -34
  144. data/lib/zendesk2/model.rb +14 -3
  145. data/lib/zendesk2/organization.rb +7 -7
  146. data/lib/zendesk2/organizations.rb +14 -12
  147. data/lib/zendesk2/paged_collection.rb +40 -36
  148. data/lib/zendesk2/rate_limit.rb +4 -3
  149. data/lib/zendesk2/real.rb +25 -22
  150. data/lib/zendesk2/request.rb +78 -82
  151. data/lib/zendesk2/search.rb +8 -7
  152. data/lib/zendesk2/search_organization.rb +14 -14
  153. data/lib/zendesk2/search_user.rb +41 -37
  154. data/lib/zendesk2/searchable.rb +36 -26
  155. data/lib/zendesk2/ticket.rb +20 -18
  156. data/lib/zendesk2/ticket_audit.rb +5 -4
  157. data/lib/zendesk2/ticket_audits.rb +10 -11
  158. data/lib/zendesk2/ticket_change.rb +10 -11
  159. data/lib/zendesk2/ticket_comment.rb +2 -1
  160. data/lib/zendesk2/ticket_comment_privacy_change.rb +12 -14
  161. data/lib/zendesk2/ticket_comments.rb +7 -6
  162. data/lib/zendesk2/ticket_create.rb +8 -9
  163. data/lib/zendesk2/ticket_field.rb +5 -4
  164. data/lib/zendesk2/ticket_fields.rb +4 -3
  165. data/lib/zendesk2/ticket_metric.rb +2 -2
  166. data/lib/zendesk2/ticket_metrics.rb +3 -2
  167. data/lib/zendesk2/ticket_notification.rb +12 -13
  168. data/lib/zendesk2/ticket_voice_comment.rb +28 -29
  169. data/lib/zendesk2/tickets.rb +8 -7
  170. data/lib/zendesk2/topic.rb +49 -22
  171. data/lib/zendesk2/topic_comment.rb +12 -9
  172. data/lib/zendesk2/topic_comments.rb +4 -3
  173. data/lib/zendesk2/topics.rb +4 -3
  174. data/lib/zendesk2/update_category.rb +8 -6
  175. data/lib/zendesk2/update_forum.rb +5 -4
  176. data/lib/zendesk2/update_group.rb +5 -4
  177. data/lib/zendesk2/update_organization.rb +18 -9
  178. data/lib/zendesk2/update_request.rb +6 -5
  179. data/lib/zendesk2/update_ticket.rb +39 -38
  180. data/lib/zendesk2/update_ticket_field.rb +5 -4
  181. data/lib/zendesk2/update_topic.rb +5 -4
  182. data/lib/zendesk2/update_user.rb +39 -31
  183. data/lib/zendesk2/update_user_field.rb +4 -3
  184. data/lib/zendesk2/update_user_identity.rb +7 -6
  185. data/lib/zendesk2/update_view.rb +38 -34
  186. data/lib/zendesk2/user.rb +41 -37
  187. data/lib/zendesk2/user_field.rb +9 -6
  188. data/lib/zendesk2/user_fields.rb +4 -3
  189. data/lib/zendesk2/user_identities.rb +4 -3
  190. data/lib/zendesk2/user_identity.rb +12 -9
  191. data/lib/zendesk2/users.rb +5 -4
  192. data/lib/zendesk2/version.rb +2 -1
  193. data/lib/zendesk2/view.rb +24 -13
  194. data/lib/zendesk2/views.rb +3 -2
  195. data/spec/categories_spec.rb +63 -60
  196. data/spec/client_spec.rb +6 -5
  197. data/spec/forums_spec.rb +64 -61
  198. data/spec/groups_spec.rb +7 -8
  199. data/spec/help_center/articles_spec.rb +22 -26
  200. data/spec/help_center/categories_spec.rb +26 -27
  201. data/spec/help_center/posts_spec.rb +39 -0
  202. data/spec/help_center/sections_spec.rb +32 -33
  203. data/spec/help_center/topics_spec.rb +13 -0
  204. data/spec/lib/paged_collection_spec.rb +11 -11
  205. data/spec/lib/rate_limit_spec.rb +9 -8
  206. data/spec/memberships_spec.rb +38 -27
  207. data/spec/organizations_spec.rb +92 -87
  208. data/spec/shared/zendesk_resource.rb +40 -25
  209. data/spec/spec_helper.rb +8 -13
  210. data/spec/support/client_helper.rb +5 -4
  211. data/spec/support/data_helper.rb +1 -0
  212. data/spec/ticket_fields_spec.rb +6 -7
  213. data/spec/tickets_spec.rb +69 -58
  214. data/spec/topic_comments_spec.rb +7 -8
  215. data/spec/topics_spec.rb +5 -6
  216. data/spec/user_fields_spec.rb +7 -7
  217. data/spec/user_identities_spec.rb +29 -25
  218. data/spec/users_spec.rb +88 -78
  219. data/spec/views_spec.rb +45 -34
  220. data/spec/zendesk2_spec.rb +3 -2
  221. data/zendesk2.gemspec +15 -14
  222. metadata +21 -2
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::Users
2
3
  include Zendesk2::Collection
3
4
 
@@ -7,13 +8,13 @@ class Zendesk2::Users
7
8
  model Zendesk2::User
8
9
 
9
10
  self.collection_method = :get_users
10
- self.collection_root = "users"
11
+ self.collection_root = 'users'
11
12
  self.model_method = :get_user
12
- self.model_root = "user"
13
- self.search_type = "user"
13
+ self.model_root = 'user'
14
+ self.search_type = 'user'
14
15
  self.search_request = :search_user
15
16
 
16
17
  def current
17
- new(cistern.get_current_user.body["user"])
18
+ new(cistern.get_current_user.body['user'])
18
19
  end
19
20
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Zendesk2
2
- VERSION = "1.9.0"
3
+ VERSION = '1.10.0'
3
4
  end
data/lib/zendesk2/view.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::View
2
3
  include Zendesk2::Model
3
4
 
@@ -24,32 +25,42 @@ class Zendesk2::View
24
25
  attribute :updated_at, type: :time
25
26
 
26
27
  def save!
28
+ new_record? ? create : update
29
+ end
30
+
31
+ def create
27
32
  requires :execution, :title
28
33
 
29
- params = {
30
- "title" => self.title,
31
- "active" => self.active,
32
- "output" => Cistern::Hash.slice(self.execution, "sort_by", "sort_order", "group_by", "group_order", "columns")
33
- }.merge(Cistern::Hash.slice(self.conditions, "any", "all"))
34
+ data = cistern.create_view('view' => request_data).body
35
+ merge_attributes(data['view'])
36
+ end
34
37
 
35
- data = if new_record?
36
- cistern.create_view("view" => params)
37
- else
38
- cistern.create_view("view" => params)
39
- end.body
38
+ def update
39
+ requires :identity
40
40
 
41
- merge_attributes(data["view"])
41
+ data = cistern.update_view('view' => request_data.merge('id' => identity)).body
42
+ merge_attributes(data['view'])
42
43
  end
43
44
 
44
45
  def tickets
45
46
  requires :identity
46
47
 
47
- cistern.tickets(view_id: self.identity)
48
+ cistern.tickets(view_id: identity)
48
49
  end
49
50
 
50
51
  def destroy!
51
52
  requires :identity
52
53
 
53
- cistern.destroy_view("view" => {"id" => self.identity})
54
+ cistern.destroy_view('view' => { 'id' => identity })
55
+ end
56
+
57
+ protected
58
+
59
+ def request_data
60
+ Cistern::Hash.slice(conditions, 'any', 'all').merge(
61
+ 'title' => title,
62
+ 'active' => active,
63
+ 'output' => Cistern::Hash.slice(execution, 'sort_by', 'sort_order', 'group_by', 'group_order', 'columns')
64
+ )
54
65
  end
55
66
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::Views
2
3
  include Zendesk2::Collection
3
4
 
@@ -7,7 +8,7 @@ class Zendesk2::Views
7
8
  model Zendesk2::View
8
9
 
9
10
  self.collection_method = :get_views
10
- self.collection_root = "views"
11
+ self.collection_root = 'views'
11
12
  self.model_method = :get_view
12
- self.model_root = "view"
13
+ self.model_root = 'view'
13
14
  end
@@ -1,51 +1,51 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
- describe "categories" do
4
+ describe 'categories' do
4
5
  let(:client) { create_client }
5
6
 
6
- include_examples "zendesk#resource", {
7
- :collection => lambda { client.categories },
8
- :create_params => lambda { { name: mock_uuid } },
9
- :update_params => lambda { { name: mock_uuid } },
10
- }
7
+ include_examples 'zendesk#resource', collection: -> { client.categories },
8
+ create_params: -> { { name: mock_uuid } },
9
+ update_params: -> { { name: mock_uuid } }
11
10
 
12
- context "#create_category" do
13
- it "should correctly respond" do
14
- body = { "category" => {"name" => (name = mock_uuid)} }
11
+ context '#create_category' do
12
+ it 'should correctly respond' do
13
+ body = { 'category' => { 'name' => (name = mock_uuid) } }
15
14
 
16
15
  response = client.create_category(body)
17
16
 
18
17
  expect(response.status).to eq(201)
19
- expect(response.env[:url].path).to eq("/api/v2/categories.json")
18
+ expect(response.env[:url].path).to eq('/api/v2/categories.json')
20
19
  expect(response.env[:method]).to eq(:post)
21
20
  expect(client.last_request).to match(body)
22
- expect(response.env[:body]["category"]).to match(
21
+ expect(response.env[:body]['category']).to match(
23
22
  a_hash_including(
24
- "name" => name,
25
- ))
23
+ 'name' => name
24
+ )
25
+ )
26
26
  end
27
27
  end
28
28
 
29
- context "with a category" do
29
+ context 'with a category' do
30
30
  let!(:category) { client.categories.create!(name: mock_uuid) }
31
31
 
32
- context "#destroy_category" do
33
- it "should require a valid category" do
34
- expect {
32
+ context '#destroy_category' do
33
+ it 'should require a valid category' do
34
+ expect do
35
35
  client.destroy_category(
36
- "category" => {
37
- "id" => 999999999,
36
+ 'category' => {
37
+ 'id' => 999_999_999,
38
38
  }
39
39
  )
40
- }.to raise_error(Zendesk2::Error) { |e|
40
+ end.to raise_error(Zendesk2::Error) { |e|
41
41
  expect(e.response[:status]).to eq(404)
42
42
  }
43
43
  end
44
44
 
45
- it "should correctly respond" do
45
+ it 'should correctly respond' do
46
46
  response = client.destroy_category(
47
- "category" => {
48
- "id" => category.id,
47
+ 'category' => {
48
+ 'id' => category.id,
49
49
  }
50
50
  )
51
51
 
@@ -57,39 +57,40 @@ describe "categories" do
57
57
  end
58
58
  end
59
59
 
60
- context "#get_categories" do
61
- it "should correctly respond" do
60
+ context '#get_categories' do
61
+ it 'should correctly respond' do
62
62
  response = client.get_categories
63
63
 
64
64
  expect(response.status).to eq(200)
65
- expect(response.env[:url].path).to eq("/api/v2/categories.json")
65
+ expect(response.env[:url].path).to eq('/api/v2/categories.json')
66
66
  expect(response.env[:method]).to eq(:get)
67
67
  expect(client.last_request).to eq(nil)
68
68
  skip unless Zendesk2.mocking?
69
- expect(response.env[:body]["categories"]).to match([
70
- a_hash_including(
71
- "id" => category.id,
72
- )])
69
+ expect(response.env[:body]['categories']).to match([
70
+ a_hash_including(
71
+ 'id' => category.id
72
+ ),
73
+ ])
73
74
  end
74
75
  end
75
76
 
76
- context "#get_category" do
77
- it "should require a valid category" do
78
- expect {
77
+ context '#get_category' do
78
+ it 'should require a valid category' do
79
+ expect do
79
80
  client.get_category(
80
- "category" => {
81
- "id" => 999999999,
81
+ 'category' => {
82
+ 'id' => 999_999_999,
82
83
  }
83
84
  )
84
- }.to raise_error(Zendesk2::Error) { |e|
85
+ end.to raise_error(Zendesk2::Error) { |e|
85
86
  expect(e.response[:status]).to eq(404)
86
87
  }
87
88
  end
88
89
 
89
- it "should correctly respond" do
90
+ it 'should correctly respond' do
90
91
  response = client.get_category(
91
- "category" => {
92
- "id" => category.id,
92
+ 'category' => {
93
+ 'id' => category.id,
93
94
  }
94
95
  )
95
96
 
@@ -97,46 +98,48 @@ describe "categories" do
97
98
  expect(response.env[:url].path).to eq("/api/v2/categories/#{category.id}.json")
98
99
  expect(response.env[:method]).to eq(:get)
99
100
  expect(client.last_request).to eq(nil)
100
- expect(response.env[:body]["category"]).to match(
101
+ expect(response.env[:body]['category']).to match(
101
102
  a_hash_including(
102
- "id" => category.id,
103
- "url" => response.env[:url].to_s,
104
- ))
103
+ 'id' => category.id,
104
+ 'url' => response.env[:url].to_s
105
+ )
106
+ )
105
107
  end
106
108
  end
107
109
 
108
- context "#update_category" do
109
- it "should require a valid category" do
110
- expect {
110
+ context '#update_category' do
111
+ it 'should require a valid category' do
112
+ expect do
111
113
  client.update_category(
112
- "category" => {
113
- "id" => 999999999,
114
- "name" => mock_uuid,
114
+ 'category' => {
115
+ 'id' => 999_999_999,
116
+ 'name' => mock_uuid,
115
117
  }
116
118
  )
117
- }.to raise_error(Zendesk2::Error) { |e|
119
+ end.to raise_error(Zendesk2::Error) { |e|
118
120
  expect(e.response[:status]).to eq(404)
119
121
  }
120
122
  end
121
123
 
122
- it "should correctly respond" do
124
+ it 'should correctly respond' do
123
125
  response = client.update_category(
124
- "category" => {
125
- "id" => category.id,
126
- "name" => (name = mock_uuid),
126
+ 'category' => {
127
+ 'id' => category.id,
128
+ 'name' => (name = mock_uuid),
127
129
  }
128
130
  )
129
131
 
130
132
  expect(response.status).to eq(200)
131
133
  expect(response.env[:url].path).to eq("/api/v2/categories/#{category.id}.json")
132
134
  expect(response.env[:method]).to eq(:put)
133
- expect(client.last_request).to eq("category" => {"name" => name})
134
- expect(response.env[:body]["category"]).to match(
135
+ expect(client.last_request).to eq('category' => { 'name' => name })
136
+ expect(response.env[:body]['category']).to match(
135
137
  a_hash_including(
136
- "id" => category.id,
137
- "url" => response.env[:url].to_s,
138
- "name" => name,
139
- ))
138
+ 'id' => category.id,
139
+ 'url' => response.env[:url].to_s,
140
+ 'name' => name
141
+ )
142
+ )
140
143
  end
141
144
  end
142
145
  end
data/spec/client_spec.rb CHANGED
@@ -1,12 +1,13 @@
1
- #encoding: utf-8
1
+ # encoding: utf-8
2
+ # frozen_string_literal: true
2
3
  require 'spec_helper'
3
4
 
4
5
  describe Zendesk2 do
5
- context "when mocking", mock_only: true do
6
+ context 'when mocking', mock_only: true do
6
7
  # this used to cause user creation conflicts
7
- it "allows the client to be intialized more than once" do
8
- Zendesk2.new(username: "steve@example.org", url: "http://example.org")
9
- Zendesk2.new(username: "steve@example.org", url: "http://example.org")
8
+ it 'allows the client to be intialized more than once' do
9
+ Zendesk2.new(username: 'steve@example.org', url: 'http://example.org')
10
+ Zendesk2.new(username: 'steve@example.org', url: 'http://example.org')
10
11
  end
11
12
  end
12
13
  end
data/spec/forums_spec.rb CHANGED
@@ -1,52 +1,52 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
- describe "forums" do
4
+ describe 'forums' do
4
5
  let(:client) { create_client }
5
6
 
6
- include_examples "zendesk#resource", {
7
- :collection => lambda { client.forums },
8
- :create_params => lambda { { name: mock_uuid } },
9
- :update_params => lambda { { name: mock_uuid } },
10
- :delayed_destroy => true,
11
- }
7
+ include_examples 'zendesk#resource', collection: -> { client.forums },
8
+ create_params: -> { { name: mock_uuid } },
9
+ update_params: -> { { name: mock_uuid } },
10
+ delayed_destroy: true
12
11
 
13
- context "#create_forum" do
14
- it "should correctly respond" do
15
- body = { "forum" => {"name" => (name = mock_uuid)} }
12
+ context '#create_forum' do
13
+ it 'should correctly respond' do
14
+ body = { 'forum' => { 'name' => (name = mock_uuid) } }
16
15
 
17
16
  response = client.create_forum(body)
18
17
 
19
18
  expect(response.status).to eq(201)
20
- expect(response.env[:url].path).to eq("/api/v2/forums.json")
19
+ expect(response.env[:url].path).to eq('/api/v2/forums.json')
21
20
  expect(response.env[:method]).to eq(:post)
22
21
  expect(client.last_request).to match(body)
23
- expect(response.env[:body]["forum"]).to match(
22
+ expect(response.env[:body]['forum']).to match(
24
23
  a_hash_including(
25
- "name" => name,
26
- ))
24
+ 'name' => name
25
+ )
26
+ )
27
27
  end
28
28
  end
29
29
 
30
- context "with a forum" do
30
+ context 'with a forum' do
31
31
  let!(:forum) { client.forums.create!(name: mock_uuid) }
32
32
 
33
- context "#destroy_forum" do
34
- it "should require a valid forum" do
35
- expect {
33
+ context '#destroy_forum' do
34
+ it 'should require a valid forum' do
35
+ expect do
36
36
  client.destroy_forum(
37
- "forum" => {
38
- "id" => 999999999,
37
+ 'forum' => {
38
+ 'id' => 999_999_999,
39
39
  }
40
40
  )
41
- }.to raise_error(Zendesk2::Error) { |e|
41
+ end.to raise_error(Zendesk2::Error) { |e|
42
42
  expect(e.response[:status]).to eq(404)
43
43
  }
44
44
  end
45
45
 
46
- it "should correctly respond" do
46
+ it 'should correctly respond' do
47
47
  response = client.destroy_forum(
48
- "forum" => {
49
- "id" => forum.id,
48
+ 'forum' => {
49
+ 'id' => forum.id,
50
50
  }
51
51
  )
52
52
 
@@ -58,39 +58,40 @@ describe "forums" do
58
58
  end
59
59
  end
60
60
 
61
- context "#get_forums" do
62
- it "should correctly respond" do
61
+ context '#get_forums' do
62
+ it 'should correctly respond' do
63
63
  response = client.get_forums
64
64
 
65
65
  expect(response.status).to eq(200)
66
- expect(response.env[:url].path).to eq("/api/v2/forums.json")
66
+ expect(response.env[:url].path).to eq('/api/v2/forums.json')
67
67
  expect(response.env[:method]).to eq(:get)
68
68
  expect(client.last_request).to eq(nil)
69
69
  skip unless Zendesk2.mocking?
70
- expect(response.env[:body]["forums"]).to match([
71
- a_hash_including(
72
- "id" => forum.id,
73
- )])
70
+ expect(response.env[:body]['forums']).to match([
71
+ a_hash_including(
72
+ 'id' => forum.id
73
+ ),
74
+ ])
74
75
  end
75
76
  end
76
77
 
77
- context "#get_forum" do
78
- it "should require a valid forum" do
79
- expect {
78
+ context '#get_forum' do
79
+ it 'should require a valid forum' do
80
+ expect do
80
81
  client.get_forum(
81
- "forum" => {
82
- "id" => 999999999,
82
+ 'forum' => {
83
+ 'id' => 999_999_999,
83
84
  }
84
85
  )
85
- }.to raise_error(Zendesk2::Error) { |e|
86
+ end.to raise_error(Zendesk2::Error) { |e|
86
87
  expect(e.response[:status]).to eq(404)
87
88
  }
88
89
  end
89
90
 
90
- it "should correctly respond" do
91
+ it 'should correctly respond' do
91
92
  response = client.get_forum(
92
- "forum" => {
93
- "id" => forum.id,
93
+ 'forum' => {
94
+ 'id' => forum.id,
94
95
  }
95
96
  )
96
97
 
@@ -98,46 +99,48 @@ describe "forums" do
98
99
  expect(response.env[:url].path).to eq("/api/v2/forums/#{forum.id}.json")
99
100
  expect(response.env[:method]).to eq(:get)
100
101
  expect(client.last_request).to eq(nil)
101
- expect(response.env[:body]["forum"]).to match(
102
+ expect(response.env[:body]['forum']).to match(
102
103
  a_hash_including(
103
- "id" => forum.id,
104
- "url" => response.env[:url].to_s,
105
- ))
104
+ 'id' => forum.id,
105
+ 'url' => response.env[:url].to_s
106
+ )
107
+ )
106
108
  end
107
109
  end
108
110
 
109
- context "#update_forum" do
110
- it "should require a valid forum" do
111
- expect {
111
+ context '#update_forum' do
112
+ it 'should require a valid forum' do
113
+ expect do
112
114
  client.update_forum(
113
- "forum" => {
114
- "id" => 999999999,
115
- "name" => mock_uuid,
115
+ 'forum' => {
116
+ 'id' => 999_999_999,
117
+ 'name' => mock_uuid,
116
118
  }
117
119
  )
118
- }.to raise_error(Zendesk2::Error) { |e|
120
+ end.to raise_error(Zendesk2::Error) { |e|
119
121
  expect(e.response[:status]).to eq(404)
120
122
  }
121
123
  end
122
124
 
123
- it "should correctly respond" do
125
+ it 'should correctly respond' do
124
126
  response = client.update_forum(
125
- "forum" => {
126
- "id" => forum.id,
127
- "name" => (name = mock_uuid),
127
+ 'forum' => {
128
+ 'id' => forum.id,
129
+ 'name' => (name = mock_uuid),
128
130
  }
129
131
  )
130
132
 
131
133
  expect(response.status).to eq(200)
132
134
  expect(response.env[:url].path).to eq("/api/v2/forums/#{forum.id}.json")
133
135
  expect(response.env[:method]).to eq(:put)
134
- expect(client.last_request).to eq("forum" => {"name" => name})
135
- expect(response.env[:body]["forum"]).to match(
136
+ expect(client.last_request).to eq('forum' => { 'name' => name })
137
+ expect(response.env[:body]['forum']).to match(
136
138
  a_hash_including(
137
- "id" => forum.id,
138
- "url" => response.env[:url].to_s,
139
- "name" => name,
140
- ))
139
+ 'id' => forum.id,
140
+ 'url' => response.env[:url].to_s,
141
+ 'name' => name
142
+ )
143
+ )
141
144
  end
142
145
  end
143
146
  end