Skip to content

Commit e42474b

Browse files
authored
Merge pull request #582 from zendesk/fvilela/requested_tickets
[RED-2366] Add CBP support to requested_tickets api/v2/users/:id/tickets/requested
2 parents 127d3f8 + 2ac92e7 commit e42474b

File tree

6 files changed

+24
-8
lines changed

6 files changed

+24
-8
lines changed

lib/zendesk_api/resources.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,7 @@ class Ticket < Resource
463463
extend DestroyMany
464464

465465
def self.cbp_path_regexes
466-
[/^tickets$/, %r{organizations/\d+/tickets}]
466+
[/^tickets$/, %r{organizations/\d+/tickets}, %r{users/\d+/tickets/requested}]
467467
end
468468

469469
# Unlike other attributes, "comment" is not a property of the ticket,

spec/core/spec_helper.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,10 @@ def options
9494
end
9595
end
9696

97+
def random_string(length = 10)
98+
('a'..'z').to_a.shuffle.take(length).join
99+
end
100+
97101
module TestHelper
98102
def silence_logger
99103
old_level = client.config.logger.level

spec/live/cbp_support_spec.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,18 @@
116116
let(:collection) { organization.tickets }
117117
end
118118
end
119+
120+
describe '/users/:id/tickets/requested' do
121+
let(:user) do
122+
VCR.use_cassette("cbp_#{described_class}_user_fetch") do
123+
client.users.fetch.first
124+
end
125+
end
126+
127+
it_behaves_like 'an endpoint that supports CBP' do
128+
let(:collection) { user.requested_tickets }
129+
end
130+
end
119131
end
120132

121133
describe ZendeskAPI::Ticket::Audit do

spec/live/organization_field_spec.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
describe ZendeskAPI::OrganizationField, :delete_after do
44
def valid_attributes
5-
{ :type => "text", :title => "Age", :key => "age" }
5+
{ :type => "text", :title => "Age", :key => random_string(5) }
66
end
77

88
it_should_be_creatable
99
it_should_be_updatable :title, "key"
10-
it_should_be_deletable
1110
it_should_be_readable :organization_fields, :create => true
11+
it_should_be_deletable :marked_for_deletion => true
1212
end

spec/live/user_field_spec.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
describe ZendeskAPI::UserField, :delete_after do
44
def valid_attributes
5-
{ :type => "text", :title => "title_ruby_sdk_test", :key => 'ruby_sdk_test_key' }
5+
{ :type => "text", :title => random_string(20), :key => random_string(10) }
66
end
77

88
it_should_be_deletable
99
it_should_be_creatable
10-
it_should_be_updatable :title, "updated_title_ruby_sdk_test"
10+
it_should_be_updatable :title, random_string(22)
1111
it_should_be_readable :user_fields, :create => true
1212
end

spec/macros/resource_macros.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def it_should_be_creatable(options = {})
3737
end
3838

3939
after(:all) do
40-
return unless @creatable_object.id
40+
return unless @creatable_object&.id
4141

4242
VCR.use_cassette("#{described_class.to_s}_create_delete") do
4343
@creatable_object.destroy
@@ -81,7 +81,7 @@ def it_should_be_updatable(attribute, value = "TESTDATA", extra = {})
8181

8282
after(:all) do
8383
VCR.use_cassette("#{described_class.to_s}_update_delete") do
84-
@updatable_object.destroy
84+
@updatable_object&.destroy
8585
end
8686
end if metadata[:delete_after]
8787
end
@@ -110,7 +110,7 @@ def it_should_be_deletable(options = {})
110110
if options[:find]
111111
expect(obj.send(options[:find].first)).to eq(options[:find].last)
112112
else
113-
expect(obj).to be_nil
113+
options[:marked_for_deletion] ? (expect(obj.active?).to be_falsey) : (expect(obj).to be_nil)
114114
end
115115
end
116116
end

0 commit comments

Comments
 (0)