zendesk2 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d6b82a5a48123f485de6ede8d43e13a302538888
4
- data.tar.gz: 6e1df0272327038e7b5b476ee56611e580324a05
3
+ metadata.gz: da53e74ee09d2c85abc260d39f02878a346d769e
4
+ data.tar.gz: 255c672c805f8bfd51b8bd3ee682fa6f5de1d30d
5
5
  SHA512:
6
- metadata.gz: 986b90b437821c2b751d66f31c6e74736e0bfe603bb4cb05e40a9f64a170ade9df31f38cf937e99871a7248c7a363c85c3ec010e23295f74d98edb837b7a57bc
7
- data.tar.gz: 94f4606077f53d047ba69058a34e414727399e91e7ac074890afef445d846efe2e52b9b40e22b80045a637911e3a3fb646d42f50393d402d3015be3dc9570905
6
+ metadata.gz: 35529ac971be807243949d67d763a07192dd27491f8e16822ec0a2d27056c163bf5dbb2a590815c63d178ca2fffe82c4c2a5b5444ab9d22f9472a4a6823dffc9
7
+ data.tar.gz: 53945ba5705d696416c9d7e073d3e9bdeb85b2143ee592f8e5874f6cdcb62940c97ae6c1493e0ce9fa77a99a84fa1dde864da810d262a2f4a85e85fa2341257c
@@ -21,46 +21,13 @@ class Zendesk2::Client
21
21
  }.merge(params)
22
22
 
23
23
  unless record["name"]
24
- response(
25
- :status => 422,
26
- :headers => {
27
- "status" => "422 Unprocessable Entity",
28
- },
29
- :body => {
30
- "error" => "RecordInvalid",
31
- "description" => "Record validation errors",
32
- "details" => {
33
- "name" => [
34
- {
35
- "description" => "Name cannot be blank"
36
- }
37
- ]
38
- }
39
- }
40
- )
24
+ error!(:invalid, details: { "name" => [ { "description" => "Name cannot be blank" } ]})
41
25
  end
42
26
 
43
27
  if self.data[:organizations].values.find{|o| o["name"] == record["name"]}
44
- response(
45
- :status => 422,
46
- :headers => {
47
- "status" => "422 Unprocessable Entity",
48
- },
49
- :body => {
50
- "error" => "RecordInvalid",
51
- "description" => "Record validation errors",
52
- "details" => {
53
- "name" => [
54
- {
55
- "description" => "Name: has already been taken"
56
- }
57
- ]
58
- }
59
- }
60
- )
28
+ error!(:invalid, details: {"name" => [ { "description" => "Name: has already been taken" } ]})
61
29
  end
62
30
 
63
-
64
31
  self.data[:organizations][identity]= record
65
32
 
66
33
  response(
@@ -14,8 +14,15 @@ class Zendesk2::Client
14
14
  end
15
15
  class Mock
16
16
  def update_organization(params={})
17
- id = params.delete("id")
18
- body = self.data[:organizations][id].merge!(params)
17
+ id = params.delete("id")
18
+
19
+ organization = self.find!(:organizations, id)
20
+
21
+ if self.data[:organizations].values.find { |o| o["name"] == params["name"] && o["id"] != id }
22
+ error!(:invalid, details: {"name" => [ { "description" => "Name: has already been taken" } ]})
23
+ end
24
+
25
+ body = organization.merge!(params)
19
26
 
20
27
  response(
21
28
  :method => :put,
@@ -1,3 +1,3 @@
1
1
  module Zendesk2
2
- VERSION = "1.2.0"
2
+ VERSION = "1.2.1"
3
3
  end
@@ -10,7 +10,8 @@ describe "organizations" do
10
10
  }
11
11
 
12
12
  describe "with an organization" do
13
- let(:organization) { client.organizations.create(name: Zendesk2.uuid) }
13
+ let(:organization) { client.organizations.create!(name: Zendesk2.uuid) }
14
+
14
15
  it "should get #users" do
15
16
  user = client.users.create(email: "#{Zendesk2.uuid}@example.org", name: Zendesk2.uuid, organization: organization)
16
17
  expect(organization.users).to include user
@@ -26,15 +27,17 @@ describe "organizations" do
26
27
  expect { client.organizations.create!(name: organization.name) }.to raise_exception(Zendesk2::Error)
27
28
  model = client.organizations.create(name: organization.name)
28
29
  expect(model.errors).to eq({"name" => ["Name: has already been taken"]})
30
+ model = client.organizations.create(name: Zendesk2.uuid)
31
+ model.name = organization.name
32
+ model.save
33
+ expect(model.errors).to eq({"name" => ["Name: has already been taken"]})
29
34
  end
30
35
 
31
36
  it "should be able to find organizations by external id" do
32
- o = organization
33
- external_id = o.name + "_foo"
34
- o.external_id = external_id
35
- o.save
36
- found = client.organizations.find_by_external_id(external_id).first
37
- expect(found).to be === o
37
+ external_id = organization.external_id = Zendesk2.uuid
38
+ organization.save!
39
+
40
+ expect(client.organizations.find_by_external_id(external_id).first).to eq(organization)
38
41
  end
39
42
 
40
43
  end
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.0
4
+ version: 1.2.1
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-09-15 00:00:00.000000000 Z
11
+ date: 2014-09-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -306,3 +306,4 @@ test_files:
306
306
  - spec/user_fields_spec.rb
307
307
  - spec/user_identities_spec.rb
308
308
  - spec/users_spec.rb
309
+ has_rdoc: