zendesk2 1.2.9 → 1.2.10
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.
- 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:
|