zendesk2 1.4.2 → 1.5.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +7 -1
- data/lib/zendesk2/attributes.rb +1 -1
- data/lib/zendesk2/{collection.rb → client/collection.rb} +22 -17
- data/lib/zendesk2/client/collections/categories.rb +2 -1
- data/lib/zendesk2/client/collections/forums.rb +2 -1
- data/lib/zendesk2/client/collections/groups.rb +4 -3
- data/lib/zendesk2/client/collections/help_center/articles.rb +2 -1
- data/lib/zendesk2/client/collections/help_center/categories.rb +2 -1
- data/lib/zendesk2/client/collections/help_center/sections.rb +2 -1
- data/lib/zendesk2/client/collections/memberships.rb +9 -7
- data/lib/zendesk2/client/collections/organizations.rb +3 -2
- data/lib/zendesk2/client/collections/ticket_audits.rb +5 -4
- data/lib/zendesk2/client/collections/ticket_comments.rb +4 -3
- data/lib/zendesk2/client/collections/ticket_fields.rb +3 -1
- data/lib/zendesk2/client/collections/tickets.rb +2 -1
- data/lib/zendesk2/client/collections/topic_comments.rb +2 -1
- data/lib/zendesk2/client/collections/topics.rb +2 -1
- data/lib/zendesk2/client/collections/user_fields.rb +3 -1
- data/lib/zendesk2/client/collections/user_identities.rb +3 -1
- data/lib/zendesk2/client/collections/users.rb +3 -2
- data/lib/zendesk2/client/help_center.rb +3 -0
- data/lib/zendesk2/client/mock.rb +7 -130
- data/lib/zendesk2/{model.rb → client/model.rb} +7 -3
- data/lib/zendesk2/client/models/audit_event.rb +2 -2
- data/lib/zendesk2/client/models/category.rb +8 -8
- data/lib/zendesk2/client/models/forum.rb +11 -16
- data/lib/zendesk2/client/models/group.rb +8 -13
- data/lib/zendesk2/client/models/help_center/article.rb +12 -16
- data/lib/zendesk2/client/models/help_center/category.rb +12 -16
- data/lib/zendesk2/client/models/help_center/section.rb +12 -16
- data/lib/zendesk2/client/models/membership.rb +10 -12
- data/lib/zendesk2/client/models/organization.rb +13 -20
- data/lib/zendesk2/client/models/ticket.rb +21 -19
- data/lib/zendesk2/client/models/ticket_audit.rb +3 -3
- data/lib/zendesk2/client/models/ticket_comment.rb +1 -1
- data/lib/zendesk2/client/models/ticket_comment_privacy_change.rb +1 -1
- data/lib/zendesk2/client/models/ticket_field.rb +5 -13
- data/lib/zendesk2/client/models/ticket_metric.rb +1 -1
- data/lib/zendesk2/client/models/ticket_voice_comment.rb +1 -1
- data/lib/zendesk2/client/models/topic.rb +9 -14
- data/lib/zendesk2/client/models/topic_comment.rb +14 -19
- data/lib/zendesk2/client/models/user.rb +25 -32
- data/lib/zendesk2/client/models/user_field.rb +10 -18
- data/lib/zendesk2/client/models/user_identity.rb +9 -18
- data/lib/zendesk2/client/real.rb +7 -8
- data/lib/zendesk2/client/request.rb +271 -0
- data/lib/zendesk2/client/requests/create_category.rb +19 -27
- data/lib/zendesk2/client/requests/create_forum.rb +23 -28
- data/lib/zendesk2/client/requests/create_group.rb +25 -29
- data/lib/zendesk2/client/requests/create_help_center_article.rb +54 -60
- data/lib/zendesk2/client/requests/create_help_center_category.rb +35 -47
- data/lib/zendesk2/client/requests/create_help_center_section.rb +49 -55
- data/lib/zendesk2/client/requests/create_membership.rb +42 -42
- data/lib/zendesk2/client/requests/create_organization.rb +30 -40
- data/lib/zendesk2/client/requests/create_ticket.rb +76 -85
- data/lib/zendesk2/client/requests/create_ticket_field.rb +36 -40
- data/lib/zendesk2/client/requests/create_topic.rb +23 -28
- data/lib/zendesk2/client/requests/create_topic_comment.rb +27 -31
- data/lib/zendesk2/client/requests/create_user.rb +51 -56
- data/lib/zendesk2/client/requests/create_user_field.rb +36 -40
- data/lib/zendesk2/client/requests/create_user_identity.rb +39 -44
- data/lib/zendesk2/client/requests/destroy_category.rb +8 -21
- data/lib/zendesk2/client/requests/destroy_forum.rb +8 -23
- data/lib/zendesk2/client/requests/destroy_group.rb +8 -21
- data/lib/zendesk2/client/requests/destroy_help_center_article.rb +8 -18
- data/lib/zendesk2/client/requests/destroy_help_center_category.rb +8 -18
- data/lib/zendesk2/client/requests/destroy_help_center_section.rb +10 -18
- data/lib/zendesk2/client/requests/destroy_membership.rb +8 -22
- data/lib/zendesk2/client/requests/destroy_organization.rb +8 -21
- data/lib/zendesk2/client/requests/destroy_ticket.rb +8 -21
- data/lib/zendesk2/client/requests/destroy_ticket_field.rb +8 -21
- data/lib/zendesk2/client/requests/destroy_topic.rb +8 -23
- data/lib/zendesk2/client/requests/destroy_topic_comment.rb +11 -24
- data/lib/zendesk2/client/requests/destroy_user.rb +17 -43
- data/lib/zendesk2/client/requests/destroy_user_field.rb +7 -22
- data/lib/zendesk2/client/requests/destroy_user_identity.rb +10 -25
- data/lib/zendesk2/client/requests/get_assignable_groups.rb +8 -16
- data/lib/zendesk2/client/requests/get_categories.rb +7 -15
- data/lib/zendesk2/client/requests/get_category.rb +11 -22
- data/lib/zendesk2/client/requests/get_ccd_tickets.rb +11 -18
- data/lib/zendesk2/client/requests/get_current_user.rb +6 -16
- data/lib/zendesk2/client/requests/get_forum.rb +11 -23
- data/lib/zendesk2/client/requests/get_forums.rb +7 -15
- data/lib/zendesk2/client/requests/get_group.rb +9 -23
- data/lib/zendesk2/client/requests/get_groups.rb +7 -15
- data/lib/zendesk2/client/requests/get_help_center_article.rb +13 -37
- data/lib/zendesk2/client/requests/get_help_center_articles.rb +6 -15
- data/lib/zendesk2/client/requests/get_help_center_categories.rb +6 -15
- data/lib/zendesk2/client/requests/get_help_center_category.rb +13 -37
- data/lib/zendesk2/client/requests/get_help_center_section.rb +14 -37
- data/lib/zendesk2/client/requests/get_help_center_sections.rb +6 -15
- data/lib/zendesk2/client/requests/get_membership.rb +9 -24
- data/lib/zendesk2/client/requests/get_organization.rb +9 -22
- data/lib/zendesk2/client/requests/get_organization_by_external_id.rb +11 -20
- data/lib/zendesk2/client/requests/get_organization_memberships.rb +10 -16
- data/lib/zendesk2/client/requests/get_organization_tickets.rb +14 -21
- data/lib/zendesk2/client/requests/get_organization_users.rb +12 -20
- data/lib/zendesk2/client/requests/get_organizations.rb +7 -16
- data/lib/zendesk2/client/requests/get_requested_tickets.rb +12 -18
- data/lib/zendesk2/client/requests/get_ticket.rb +9 -23
- data/lib/zendesk2/client/requests/get_ticket_audits.rb +12 -18
- data/lib/zendesk2/client/requests/get_ticket_comments.rb +10 -19
- data/lib/zendesk2/client/requests/get_ticket_field.rb +9 -22
- data/lib/zendesk2/client/requests/get_ticket_fields.rb +7 -15
- data/lib/zendesk2/client/requests/get_tickets.rb +7 -15
- data/lib/zendesk2/client/requests/get_topic.rb +8 -23
- data/lib/zendesk2/client/requests/get_topic_comment.rb +12 -28
- data/lib/zendesk2/client/requests/get_topic_comments.rb +13 -18
- data/lib/zendesk2/client/requests/get_topics.rb +6 -15
- data/lib/zendesk2/client/requests/get_user.rb +15 -28
- data/lib/zendesk2/client/requests/get_user_field.rb +9 -22
- data/lib/zendesk2/client/requests/get_user_identities.rb +11 -18
- data/lib/zendesk2/client/requests/get_user_identity.rb +11 -21
- data/lib/zendesk2/client/requests/get_user_memberships.rb +12 -18
- data/lib/zendesk2/client/requests/get_users.rb +7 -15
- data/lib/zendesk2/client/requests/mark_membership_default.rb +17 -28
- data/lib/zendesk2/client/requests/mark_user_identity_primary.rb +17 -30
- data/lib/zendesk2/client/requests/search.rb +30 -19
- data/lib/zendesk2/client/requests/search_help_center_articles.rb +22 -18
- data/lib/zendesk2/client/requests/search_organization.rb +40 -28
- data/lib/zendesk2/client/requests/search_user.rb +56 -44
- data/lib/zendesk2/client/requests/update_category.rb +14 -24
- data/lib/zendesk2/client/requests/update_forum.rb +13 -25
- data/lib/zendesk2/client/requests/update_group.rb +12 -24
- data/lib/zendesk2/client/requests/update_help_center_article.rb +17 -42
- data/lib/zendesk2/client/requests/update_help_center_category.rb +17 -42
- data/lib/zendesk2/client/requests/update_help_center_section.rb +17 -42
- data/lib/zendesk2/client/requests/update_organization.rb +23 -35
- data/lib/zendesk2/client/requests/update_ticket.rb +63 -63
- data/lib/zendesk2/client/requests/update_ticket_field.rb +12 -24
- data/lib/zendesk2/client/requests/update_topic.rb +11 -25
- data/lib/zendesk2/client/requests/update_user.rb +47 -62
- data/lib/zendesk2/client/requests/update_user_field.rb +11 -23
- data/lib/zendesk2/client/requests/update_user_identity.rb +20 -28
- data/lib/zendesk2/client.rb +52 -28
- data/lib/zendesk2/paged_collection.rb +9 -9
- data/lib/zendesk2/searchable.rb +1 -1
- data/lib/zendesk2/version.rb +1 -1
- data/lib/zendesk2.rb +1 -13
- data/spec/categories_spec.rb +132 -0
- data/spec/forums_spec.rb +132 -0
- data/spec/lib/paged_collection_spec.rb +2 -2
- data/spec/memberships_spec.rb +5 -9
- data/spec/organizations_spec.rb +176 -25
- data/spec/spec_helper.rb +2 -0
- data/spec/tickets_spec.rb +2 -2
- data/spec/topic_comments_spec.rb +2 -2
- data/spec/user_identities_spec.rb +9 -6
- data/spec/users_spec.rb +22 -21
- data/zendesk2.gemspec +1 -2
- metadata +7 -21
- data/lib/zendesk2/client/requests/update_topic_comment.rb +0 -37
@@ -1,27 +1,14 @@
|
|
1
|
-
class Zendesk2::Client
|
2
|
-
|
3
|
-
|
4
|
-
id = params["id"]
|
1
|
+
class Zendesk2::Client::DestroyCategory < Zendesk2::Client::Request
|
2
|
+
request_method :delete
|
3
|
+
request_path { |r| "/categories/#{r.category_id}.json" }
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
:path => "/categories/#{id}.json"
|
9
|
-
)
|
10
|
-
end
|
5
|
+
def category_id
|
6
|
+
params.fetch("category").fetch("id")
|
11
7
|
end
|
12
8
|
|
13
|
-
|
14
|
-
|
15
|
-
id = params["id"]
|
16
|
-
body = self.delete!(:categories, id)
|
9
|
+
def mock
|
10
|
+
delete!(:categories, category_id)
|
17
11
|
|
18
|
-
|
19
|
-
:method => :delete,
|
20
|
-
:path => "/categories/#{id}.json",
|
21
|
-
:body => {
|
22
|
-
"category" => body,
|
23
|
-
},
|
24
|
-
)
|
25
|
-
end
|
12
|
+
mock_response(nil)
|
26
13
|
end
|
27
14
|
end
|
@@ -1,29 +1,14 @@
|
|
1
|
-
class Zendesk2::Client
|
2
|
-
|
3
|
-
|
4
|
-
id = params["id"]
|
1
|
+
class Zendesk2::Client::DestroyForum < Zendesk2::Client::Request
|
2
|
+
request_method :delete
|
3
|
+
request_path { |r| "/forums/#{r.forum_id}.json" }
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
:path => "/forums/#{id}.json"
|
9
|
-
)
|
10
|
-
end
|
5
|
+
def forum_id
|
6
|
+
params.fetch("forum").fetch("id")
|
11
7
|
end
|
12
8
|
|
13
|
-
|
14
|
-
|
15
|
-
id = params["id"]
|
16
|
-
path = "/forums/#{id}.json"
|
9
|
+
def mock
|
10
|
+
delete!(:forums, forum_id)
|
17
11
|
|
18
|
-
|
19
|
-
|
20
|
-
response(
|
21
|
-
:method => :delete,
|
22
|
-
:path => path,
|
23
|
-
:body => {
|
24
|
-
"forum" => body,
|
25
|
-
},
|
26
|
-
)
|
27
|
-
end
|
12
|
+
mock_response(nil)
|
28
13
|
end
|
29
14
|
end
|
@@ -1,27 +1,14 @@
|
|
1
|
-
class Zendesk2::Client
|
2
|
-
|
3
|
-
|
4
|
-
id = params["id"]
|
1
|
+
class Zendesk2::Client::DestroyGroup < Zendesk2::Client::Request
|
2
|
+
request_method :delete
|
3
|
+
request_path { |r| "/groups/#{r.group_id}.json" }
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
:path => "/groups/#{id}.json"
|
9
|
-
)
|
10
|
-
end
|
5
|
+
def group_id
|
6
|
+
params.fetch("group").fetch("id")
|
11
7
|
end
|
12
8
|
|
13
|
-
|
14
|
-
|
15
|
-
id = params["id"]
|
16
|
-
body = self.find!(:groups, id).merge!("deleted" => true)
|
9
|
+
def mock
|
10
|
+
find!(:groups, group_id, params).merge!("deleted" => true)
|
17
11
|
|
18
|
-
|
19
|
-
:method => :delete,
|
20
|
-
:path => "/groups/#{id}.json",
|
21
|
-
:body => {
|
22
|
-
"group" => body,
|
23
|
-
},
|
24
|
-
)
|
25
|
-
end
|
12
|
+
mock_response(nil)
|
26
13
|
end
|
27
14
|
end
|
@@ -1,22 +1,12 @@
|
|
1
|
-
class Zendesk2::Client
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
)
|
8
|
-
end
|
1
|
+
class Zendesk2::Client::DestroyHelpCenterArticle < Zendesk2::Client::Request
|
2
|
+
request_method :delete
|
3
|
+
request_path { |r| "/help_center/articles/#{r.article_id}.json" }
|
4
|
+
|
5
|
+
def article_id
|
6
|
+
params.fetch("article").fetch("id")
|
9
7
|
end
|
10
8
|
|
11
|
-
|
12
|
-
|
13
|
-
response(
|
14
|
-
:method => :delete,
|
15
|
-
:path => "/help_center/articles/#{id}.json",
|
16
|
-
:body => {
|
17
|
-
"article" => self.find!(:help_center_articles, id),
|
18
|
-
},
|
19
|
-
)
|
20
|
-
end
|
9
|
+
def mock
|
10
|
+
mock_response("article" => self.find!(:help_center_articles, article_id))
|
21
11
|
end
|
22
12
|
end
|
@@ -1,22 +1,12 @@
|
|
1
|
-
class Zendesk2::Client
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
)
|
8
|
-
end
|
1
|
+
class Zendesk2::Client::DestroyHelpCenterCategory < Zendesk2::Client::Request
|
2
|
+
request_path { |r| "/help_center/categories/#{r.category_id}.json" }
|
3
|
+
request_method :delete
|
4
|
+
|
5
|
+
def category_id
|
6
|
+
params.fetch("category").fetch("id")
|
9
7
|
end
|
10
8
|
|
11
|
-
|
12
|
-
|
13
|
-
response(
|
14
|
-
:method => :delete,
|
15
|
-
:path => "/help_center/categories/#{id}.json",
|
16
|
-
:body => {
|
17
|
-
"category" => self.find!(:help_center_categories, id),
|
18
|
-
},
|
19
|
-
)
|
20
|
-
end
|
9
|
+
def mock
|
10
|
+
mock_response("category" => self.delete!(:help_center_categories, category_id))
|
21
11
|
end
|
22
12
|
end
|
@@ -1,22 +1,14 @@
|
|
1
|
-
class Zendesk2::Client
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
)
|
8
|
-
end
|
1
|
+
class Zendesk2::Client::DestroyHelpCenterSection < Zendesk2::Client::Request
|
2
|
+
request_method :delete
|
3
|
+
request_path { |r| "/help_center/sections/#{r.section_id}.json" }
|
4
|
+
|
5
|
+
def section_id
|
6
|
+
params.fetch("section").fetch("id")
|
9
7
|
end
|
10
8
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
:path => "/help_center/sections/#{id}.json",
|
16
|
-
:body => {
|
17
|
-
"section" => self.find!(:help_center_sections, id),
|
18
|
-
},
|
19
|
-
)
|
20
|
-
end
|
9
|
+
def mock
|
10
|
+
self.delete!(:help_center_sections, section_id)
|
11
|
+
|
12
|
+
mock_response(nil)
|
21
13
|
end
|
22
14
|
end
|
@@ -1,28 +1,14 @@
|
|
1
|
-
class Zendesk2::Client
|
2
|
-
|
3
|
-
|
4
|
-
id = params["id"]
|
1
|
+
class Zendesk2::Client::DestroyMembership < Zendesk2::Client::Request
|
2
|
+
request_method :delete
|
3
|
+
request_path { |r| "/organization_memberships/#{r.membership_id}.json" }
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
:path => "/organization_memberships/#{id}.json"
|
9
|
-
)
|
10
|
-
end
|
5
|
+
def membership_id
|
6
|
+
params.fetch("membership").fetch("id")
|
11
7
|
end
|
12
8
|
|
13
|
-
|
14
|
-
|
15
|
-
id = params["id"]
|
9
|
+
def mock
|
10
|
+
delete!(:memberships, membership_id)
|
16
11
|
|
17
|
-
|
18
|
-
|
19
|
-
response(
|
20
|
-
:method => :delete,
|
21
|
-
:path => "/organization_memberships/#{id}.json",
|
22
|
-
:body => {
|
23
|
-
"membership" => body,
|
24
|
-
},
|
25
|
-
)
|
26
|
-
end
|
12
|
+
mock_response(nil)
|
27
13
|
end
|
28
14
|
end
|
@@ -1,27 +1,14 @@
|
|
1
|
-
class Zendesk2::Client
|
2
|
-
|
3
|
-
|
4
|
-
id = params["id"]
|
1
|
+
class Zendesk2::Client::DestroyOrganization < Zendesk2::Client::Request
|
2
|
+
request_method :delete
|
3
|
+
request_path { |r| "/organizations/#{r.organization_id}.json" }
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
:path => "/organizations/#{id}.json"
|
9
|
-
)
|
10
|
-
end
|
5
|
+
def organization_id
|
6
|
+
params.fetch("organization").fetch("id")
|
11
7
|
end
|
12
8
|
|
13
|
-
|
14
|
-
|
15
|
-
id = require_parameters(params, "id")
|
16
|
-
body = self.delete!(:organizations, id)
|
9
|
+
def mock
|
10
|
+
self.delete!(:organizations, organization_id)
|
17
11
|
|
18
|
-
|
19
|
-
:method => :delete,
|
20
|
-
:path => "/organizations/#{id}.json",
|
21
|
-
:body => {
|
22
|
-
"organization" => body,
|
23
|
-
},
|
24
|
-
)
|
25
|
-
end
|
12
|
+
mock_response(nil)
|
26
13
|
end
|
27
14
|
end
|
@@ -1,27 +1,14 @@
|
|
1
|
-
class Zendesk2::Client
|
2
|
-
|
3
|
-
|
4
|
-
id = params["id"]
|
1
|
+
class Zendesk2::Client::DestroyTicket < Zendesk2::Client::Request
|
2
|
+
request_method :delete
|
3
|
+
request_path { |r| "/tickets/#{r.ticket_id}.json" }
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
:path => "/tickets/#{id}.json"
|
9
|
-
)
|
10
|
-
end
|
5
|
+
def ticket_id
|
6
|
+
@_ticket_id ||= params.fetch("ticket").fetch("id")
|
11
7
|
end
|
12
8
|
|
13
|
-
|
14
|
-
|
15
|
-
id = params["id"]
|
16
|
-
body = self.delete!(:tickets, id)
|
9
|
+
def mock
|
10
|
+
self.delete!(:tickets, ticket_id)
|
17
11
|
|
18
|
-
|
19
|
-
:method => :delete,
|
20
|
-
:path => "/tickets/#{id}.json",
|
21
|
-
:body => {
|
22
|
-
"ticket" => body,
|
23
|
-
},
|
24
|
-
)
|
25
|
-
end
|
12
|
+
mock_response(nil)
|
26
13
|
end
|
27
14
|
end
|
@@ -1,27 +1,14 @@
|
|
1
|
-
class Zendesk2::Client
|
2
|
-
|
3
|
-
|
4
|
-
id = params["id"]
|
1
|
+
class Zendesk2::Client::DestroyTicketField < Zendesk2::Client::Request
|
2
|
+
request_method :delete
|
3
|
+
request_path { |r| "/ticket_fields/#{r.ticket_field_id}.json" }
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
:path => "/ticket_fields/#{id}.json"
|
9
|
-
)
|
10
|
-
end
|
5
|
+
def ticket_field_id
|
6
|
+
params.fetch("ticket_field").fetch("id")
|
11
7
|
end
|
12
8
|
|
13
|
-
|
14
|
-
|
15
|
-
id = params["id"]
|
16
|
-
body = self.delete!(:ticket_fields, id)
|
9
|
+
def mock
|
10
|
+
self.delete!(:ticket_fields, ticket_field_id)
|
17
11
|
|
18
|
-
|
19
|
-
:method => :delete,
|
20
|
-
:path => "/ticket_fields/#{id}.json",
|
21
|
-
:body => {
|
22
|
-
"ticket_field" => body,
|
23
|
-
},
|
24
|
-
)
|
25
|
-
end
|
12
|
+
mock_response(nil)
|
26
13
|
end
|
27
14
|
end
|
@@ -1,29 +1,14 @@
|
|
1
|
-
class Zendesk2::Client
|
2
|
-
|
3
|
-
|
4
|
-
id = params["id"]
|
1
|
+
class Zendesk2::Client::DestroyTopic < Zendesk2::Client::Request
|
2
|
+
request_method :delete
|
3
|
+
request_path { |r| "/topics/#{r.topic_id}.json" }
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
:path => "/topics/#{id}.json"
|
9
|
-
)
|
10
|
-
end
|
5
|
+
def topic_id
|
6
|
+
params.fetch("topic").fetch("id")
|
11
7
|
end
|
12
8
|
|
13
|
-
|
14
|
-
|
15
|
-
id = params["id"]
|
16
|
-
path = "/topics/#{id}.json"
|
9
|
+
def mock
|
10
|
+
self.delete!(:topics, topic_id)
|
17
11
|
|
18
|
-
|
19
|
-
|
20
|
-
response(
|
21
|
-
:method => :delete,
|
22
|
-
:path => path,
|
23
|
-
:body => {
|
24
|
-
"topic" => body,
|
25
|
-
},
|
26
|
-
)
|
27
|
-
end
|
12
|
+
mock_response(nil)
|
28
13
|
end
|
29
14
|
end
|
@@ -1,31 +1,18 @@
|
|
1
|
-
class Zendesk2::Client
|
2
|
-
|
3
|
-
|
4
|
-
id = params["id"]
|
5
|
-
topic_id = params["topic_id"]
|
1
|
+
class Zendesk2::Client::DestroyTopicComment < Zendesk2::Client::Request
|
2
|
+
request_method :delete
|
3
|
+
request_path { |r| "/topics/#{r.topic_id}/comments/#{r.topic_comment_id}.json" }
|
6
4
|
|
7
|
-
|
8
|
-
|
9
|
-
:path => "/topics/#{topic_id}/comments/#{id}.json"
|
10
|
-
)
|
11
|
-
end
|
5
|
+
def topic_id
|
6
|
+
params.fetch("topic_comment").fetch("topic_id")
|
12
7
|
end
|
13
8
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
topic_id = params["topic_id"]
|
18
|
-
path = "/topics/#{topic_id}/comments/#{id}.json"
|
9
|
+
def topic_comment_id
|
10
|
+
params.fetch("topic_comment").fetch("id")
|
11
|
+
end
|
19
12
|
|
20
|
-
|
13
|
+
def mock
|
14
|
+
self.delete!(:topic_comments, topic_comment_id)
|
21
15
|
|
22
|
-
|
23
|
-
:method => :delete,
|
24
|
-
:path => path,
|
25
|
-
:body => {
|
26
|
-
"topic_comment" => body,
|
27
|
-
},
|
28
|
-
)
|
29
|
-
end
|
16
|
+
mock_response(nil)
|
30
17
|
end
|
31
18
|
end
|
@@ -1,51 +1,25 @@
|
|
1
|
-
class Zendesk2::Client
|
2
|
-
|
3
|
-
|
4
|
-
id = params["id"]
|
1
|
+
class Zendesk2::Client::DestroyUser < Zendesk2::Client::Request
|
2
|
+
request_method :delete
|
3
|
+
request_path { |r| "/users/#{r.user_id}.json" }
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
:path => "/users/#{id}.json"
|
9
|
-
)
|
10
|
-
end
|
5
|
+
def user_id
|
6
|
+
@_user_id ||= params.fetch("user").fetch("id").to_i
|
11
7
|
end
|
12
8
|
|
13
|
-
|
14
|
-
|
15
|
-
id = params["id"].to_s
|
16
|
-
path = "/users/#{id}.json"
|
17
|
-
|
18
|
-
tickets = self.data[:tickets].values.select { |t| t["requester_id"] == id }.size
|
19
|
-
|
20
|
-
if tickets < 1
|
21
|
-
self.data[:identities].each { |k,v| self.data[:identities].delete(k) if v["user_id"] == id }
|
9
|
+
def mock
|
10
|
+
ticket_count = service.data[:tickets].values.select { |t| t["requester_id"].to_i == user_id }.size
|
22
11
|
|
23
|
-
|
12
|
+
if ticket_count < 1
|
13
|
+
service.data[:identities].each { |k,v| service.data[:identities].delete(k) if v["user_id"] == user_id }
|
24
14
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
}
|
31
|
-
|
32
|
-
|
33
|
-
response(
|
34
|
-
:method => :delete,
|
35
|
-
:path => path,
|
36
|
-
:status => 422,
|
37
|
-
:body => {
|
38
|
-
"error" => "RecordInvalid",
|
39
|
-
"description" => "Record validation errors",
|
40
|
-
"details" => {
|
41
|
-
"base" => [{
|
42
|
-
"type" => "User is requester on #{tickets} ticket(s) that are not closed.",
|
43
|
-
"description" => "Base User is requester on #{tickets} ticket(s) that are not closed."
|
44
|
-
}]
|
45
|
-
}
|
46
|
-
}
|
47
|
-
)
|
48
|
-
end
|
15
|
+
mock_response("user" => self.delete!(:users, user_id))
|
16
|
+
else
|
17
|
+
error!(:invalid, "details" => {
|
18
|
+
"base" => [{
|
19
|
+
"type" => "User is requester on #{ticket_count} ticket(s) that are not closed.",
|
20
|
+
"description" => "Base User is requester on #{ticket_count} ticket(s) that are not closed."
|
21
|
+
}]
|
22
|
+
})
|
49
23
|
end
|
50
24
|
end
|
51
25
|
end
|