Skip to content

Commit bac3562

Browse files
feat: add validation for deactivate_users method in StreamChat client and update tests
1 parent 8e5b67d commit bac3562

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

.tool-versions

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ruby 3.4.2

lib/stream-chat/client.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,8 @@ def deactivate_user(user_id, **options)
284284
# Deactivates a users
285285
sig { params(user_ids: T::Array[String], options: T.untyped).returns(StreamChat::StreamResponse) }
286286
def deactivate_users(user_ids, **options)
287+
raise ArgumentError, 'user_ids should not be empty' if user_ids.empty?
288+
287289
post("users/deactivate", data: { user_ids: user_ids, **options })
288290
end
289291

spec/client_spec.rb

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,16 @@ def loop_times(times)
171171

172172
it 'deactivates multiple users' do
173173
response = @client.deactivate_users([@random_users[0][:id], @random_users[1][:id]])
174-
expect(response).to include 'users'
175-
expect(response['users'].length).to eq(2)
174+
expect(response).to include 'task_id'
175+
expect(response['task_id']).not_to be_empty
176+
end
177+
178+
it 'raises an error if user_ids is not an array' do
179+
expect { @client.deactivate_users('not an array') }.to raise_error(TypeError)
180+
end
181+
182+
it 'raises an error if user_ids is empty' do
183+
expect { @client.deactivate_users([]) }.to raise_error(ArgumentError)
176184
end
177185

178186
it 'reactivates a user' do

0 commit comments

Comments
 (0)