Skip to content

Commit f5a2971

Browse files
authored
Merge pull request zendesk#416 from zendesk/nogates/add-user-integration-test-for-many-actions
Add integration tests for some bulk user actions
2 parents c2b85bb + 359fa85 commit f5a2971

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

spec/live/user_spec.rb

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,61 @@ def valid_attributes
8585
end
8686
end
8787

88+
describe "create_many, update_many and destroy_many" do
89+
let(:create_many_users_job) do
90+
VCR.use_cassette("create_many_users_job") do
91+
ZendeskAPI::User.create_many!(
92+
client,
93+
[
94+
{ name: "one", email: "1@example.org" },
95+
{ name: "two", email: "2@example.org" }
96+
]
97+
).tap do |job|
98+
job.reload! while job.status != "completed"
99+
end
100+
end
101+
end
102+
103+
let(:destroy_many_users_job) do
104+
VCR.use_cassette("destroy_many_users_job") do
105+
ZendeskAPI::User.destroy_many!(
106+
client,
107+
created_user_ids
108+
).tap do |job|
109+
job.reload! while job.status != "completed"
110+
end
111+
end
112+
end
113+
114+
let(:created_user_ids) do
115+
create_many_users_job.results.filter do |item|
116+
item["status"] == "Created"
117+
end.map(&:id)
118+
end
119+
120+
let(:created_user_objects) do
121+
VCR.use_cassette("created_users_objects") do
122+
created_user_ids.map do |user_id|
123+
client.users.find(id: user_id)
124+
end
125+
end
126+
end
127+
128+
before do
129+
VCR.use_cassette("update_many_users") do
130+
ZendeskAPI::User.update_many!(client, created_user_ids, notes: "this is a note")
131+
end
132+
end
133+
134+
it "updates all the users, and then, it deletes them properly" do
135+
created_user_objects.each do |user|
136+
expect(user.notes).to eq "this is a note"
137+
end
138+
139+
expect(destroy_many_users_job["total"]).to be 2
140+
end
141+
end
142+
88143
context "permission set" do
89144
subject do
90145
VCR.use_cassette("user_permission_set") { client.users.find(:id => 20014327, :include => :roles) }

0 commit comments

Comments
 (0)