@@ -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