zendesk2 1.2.9 → 1.2.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/zendesk2/client/requests/create_ticket.rb +5 -3
- data/lib/zendesk2/client/requests/create_user.rb +5 -0
- data/lib/zendesk2/client/requests/get_organization_tickets.rb +9 -7
- data/lib/zendesk2/client/requests/get_organization_users.rb +6 -3
- data/lib/zendesk2/version.rb +1 -1
- data/spec/tickets_spec.rb +20 -3
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c07f86f5133eeb2a08c320e2d5c01b1346187d0c
|
4
|
+
data.tar.gz: 97a882ccf6edb6d90f371603c61d0b54d00c4edb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0221b1a52704b3572c01245d8903f4600500d93263a9128e24890b1eda336aa381fc94fba66f9f94b9c35e65c8b37240c98432bc88dbf623ad0054880fc44be8
|
7
|
+
data.tar.gz: fa22d5464a2b93c559558f3f19b709a7fcbd45ec1dad93920ce51c2eee1a027043cc915c21703d68df2222bbef686e34ee9c3742d05002973b8461d7b4b166a3
|
@@ -73,11 +73,13 @@ class Zendesk2::Client
|
|
73
73
|
}.merge(params)
|
74
74
|
|
75
75
|
record["requester_id"] ||= (requester_id && requester_id.to_s) || current_user["id"].to_s
|
76
|
+
requester = self.find!(:users, record["requester_id"])
|
77
|
+
|
76
78
|
record["submitter_id"] = current_user["id"].to_s
|
77
79
|
|
78
|
-
|
79
|
-
|
80
|
-
|
80
|
+
if record["organization_id"] = params.delete('organization_id') || requester["organization_id"]
|
81
|
+
self.find!(:organizations, record["organization_id"])
|
82
|
+
end
|
81
83
|
|
82
84
|
self.data[:tickets][identity] = record
|
83
85
|
|
@@ -15,6 +15,11 @@ class Zendesk2::Client
|
|
15
15
|
user_id = self.class.new_id
|
16
16
|
path = "/users.json"
|
17
17
|
|
18
|
+
if organization_id = params.delete("organization_id")
|
19
|
+
self.find!(:organizations, organization_id)
|
20
|
+
params["organization_id"] = organization_id.to_s
|
21
|
+
end
|
22
|
+
|
18
23
|
record = {
|
19
24
|
"id" => user_id,
|
20
25
|
"url" => url_for("/users/#{user_id}.json"),
|
@@ -1,23 +1,25 @@
|
|
1
1
|
class Zendesk2::Client
|
2
2
|
class Real
|
3
3
|
def get_organization_tickets(params={})
|
4
|
-
id = params
|
4
|
+
id = require_parameters(params, "id").to_s
|
5
5
|
page_params = Zendesk2.paging_parameters(params)
|
6
6
|
|
7
7
|
request(
|
8
|
-
:params
|
9
|
-
:method
|
10
|
-
:path
|
8
|
+
:params => page_params,
|
9
|
+
:method => :get,
|
10
|
+
:path => "/organizations/#{id}/tickets.json",
|
11
11
|
)
|
12
12
|
end
|
13
13
|
end # Real
|
14
14
|
|
15
15
|
class Mock
|
16
16
|
def get_organization_tickets(params={})
|
17
|
-
id = params
|
17
|
+
id = require_parameters(params, "id").to_s
|
18
18
|
|
19
|
-
requesters = self.data[:users].values.select{|u| u["organization_id"] == id}.map{|s| s["organization_id"]}
|
20
|
-
page(params, :tickets, "/organizations/#{id}/tickets.json", "tickets",
|
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
|
+
)
|
21
23
|
end
|
22
24
|
end # Mock
|
23
25
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
class Zendesk2::Client
|
2
2
|
class Real
|
3
3
|
def get_organization_users(params={})
|
4
|
-
id = params
|
4
|
+
id = require_parameters(params, "id").to_s
|
5
5
|
page_params = Zendesk2.paging_parameters(params)
|
6
6
|
|
7
7
|
request(
|
@@ -14,8 +14,11 @@ class Zendesk2::Client
|
|
14
14
|
|
15
15
|
class Mock
|
16
16
|
def get_organization_users(params={})
|
17
|
-
id = params
|
18
|
-
|
17
|
+
id = require_parameters(params, "id").to_s
|
18
|
+
|
19
|
+
page(params, :users, "/organizations/#{id}/users.json", "users",
|
20
|
+
:filter => lambda { |c| c.select { |u| u["organization_id"].to_s == id } }
|
21
|
+
)
|
19
22
|
end
|
20
23
|
end # Mock
|
21
24
|
end
|
data/lib/zendesk2/version.rb
CHANGED
data/spec/tickets_spec.rb
CHANGED
@@ -20,10 +20,11 @@ describe "Zendesk2::Client" do
|
|
20
20
|
end
|
21
21
|
|
22
22
|
describe "when creating a ticket" do
|
23
|
-
let!(:requester_email) { "#{mock_uuid}@example.org" }
|
24
|
-
|
25
23
|
it "should create requester" do
|
24
|
+
requester_email = mock_email
|
25
|
+
|
26
26
|
ticket = client.tickets.create!(subject: mock_uuid, description: mock_uuid, requester: {name: "Josh Lane", email: requester_email})
|
27
|
+
|
27
28
|
if Zendesk2::Client.mocking? # this takes some time for realsies
|
28
29
|
requester = client.users.search(email: requester_email).first
|
29
30
|
expect(requester).not_to be_nil
|
@@ -34,9 +35,25 @@ describe "Zendesk2::Client" do
|
|
34
35
|
end
|
35
36
|
end
|
36
37
|
|
38
|
+
it "should require a valid organization if not blank" do
|
39
|
+
expect {
|
40
|
+
client.tickets.create!(subject: mock_uuid, description: mock_uuid, organization_id: -1)
|
41
|
+
}.to raise_exception(Zendesk2::Error, /RecordNotFound/)
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should default to the requesters primary organization if organization is not specified" do
|
45
|
+
organization = client.organizations.create!(name: mock_uuid)
|
46
|
+
requester = client.users.create!(email: mock_email, name: mock_uuid, organization: organization)
|
47
|
+
|
48
|
+
ticket = client.tickets.create!(requester: requester, subject: mock_uuid, description: mock_uuid)
|
49
|
+
|
50
|
+
expect(ticket.organization).to eq(organization)
|
51
|
+
expect(organization.tickets).to contain_exactly(ticket)
|
52
|
+
end
|
53
|
+
|
37
54
|
it "should require requester name" do
|
38
55
|
expect {
|
39
|
-
client.tickets.create!(subject: mock_uuid, description: mock_uuid, requester: {email:
|
56
|
+
client.tickets.create!(subject: mock_uuid, description: mock_uuid, requester: {email: mock_email})
|
40
57
|
}.to raise_exception(Zendesk2::Error, /Requester Name: .* too short/)
|
41
58
|
end
|
42
59
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zendesk2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josh Lane
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-10-
|
11
|
+
date: 2014-10-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -308,3 +308,4 @@ test_files:
|
|
308
308
|
- spec/user_fields_spec.rb
|
309
309
|
- spec/user_identities_spec.rb
|
310
310
|
- spec/users_spec.rb
|
311
|
+
has_rdoc:
|