diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 615900d..9512744 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,5 +1,8 @@ name: Test RocketChat Ruby gem +env: + CC_TEST_REPORTER_ID: abf0a371ff8851f13b563671914b195bb46f0997f0f93142e666d9acad08e22f + on: push: branches: [main] @@ -30,5 +33,3 @@ jobs: - name: Test & publish code coverage uses: paambaati/codeclimate-action@v3.0.0 - env: - CC_TEST_REPORTER_ID: abf0a371ff8851f13b563671914b195bb46f0997f0f93142e666d9acad08e22f diff --git a/Gemfile b/Gemfile index 090b011..9e923a2 100644 --- a/Gemfile +++ b/Gemfile @@ -12,6 +12,6 @@ gem 'rubocop', '~> 1.70' gem 'rubocop-performance', '~> 1.23' gem 'rubocop-rake', '~> 0.6' gem 'rubocop-rspec', '~> 3.3' -gem 'simplecov', '~> 0.16', '< 0.18' +gem 'simplecov', '~> 0.22' gem 'webmock', '~> 3.24' gem 'yard', '~> 0.9.11' diff --git a/lib/rocket_chat/messages/channel.rb b/lib/rocket_chat/messages/channel.rb index 3e12865..a0c7db5 100644 --- a/lib/rocket_chat/messages/channel.rb +++ b/lib/rocket_chat/messages/channel.rb @@ -54,7 +54,7 @@ def list(offset: nil, count: nil, sort: nil, fields: nil, query: nil) def online(room_id: nil, name: nil) response = session.request_json( '/api/v1/channels.online', - body: { query: room_query_params(room_id, name) } + body: room_query_params(room_id, name) ) response['online'].map { |hash| RocketChat::User.new hash } if response['success'] diff --git a/lib/rocket_chat/messages/group.rb b/lib/rocket_chat/messages/group.rb index 49ca9b4..0b73dd8 100644 --- a/lib/rocket_chat/messages/group.rb +++ b/lib/rocket_chat/messages/group.rb @@ -85,7 +85,7 @@ def list_all(offset: nil, count: nil, sort: nil, fields: nil, query: nil) def online(room_id: nil, name: nil) response = session.request_json( '/api/v1/groups.online', - body: { query: room_query_params(room_id, name) } + body: room_query_params(room_id, name) ) response['online'].map { |hash| RocketChat::User.new hash } if response['success'] diff --git a/lib/rocket_chat/messages/room.rb b/lib/rocket_chat/messages/room.rb index 7b6fa77..61d2dde 100644 --- a/lib/rocket_chat/messages/room.rb +++ b/lib/rocket_chat/messages/room.rb @@ -341,8 +341,9 @@ def room_option_hash(options) end def validate_attribute(attribute) - raise ArgumentError, "Unsettable attribute: #{attribute || 'nil'}" unless \ - self.class.settable_attributes.include?(attribute) + return if self.class.settable_attributes.include?(attribute) + + raise ArgumentError, "Unsettable attribute: #{attribute || 'nil'}" end def file_upload_array(**params) diff --git a/lib/rocket_chat/messages/room_support.rb b/lib/rocket_chat/messages/room_support.rb index 71c588b..25d1fda 100644 --- a/lib/rocket_chat/messages/room_support.rb +++ b/lib/rocket_chat/messages/room_support.rb @@ -20,10 +20,10 @@ def room_query_params(id, name) if id { _id: id } elsif name - { name: name } + { query: { name: name }.to_json } else {} - end.to_json + end end end end diff --git a/spec/rocket_chat/messages/channel_spec.rb b/spec/rocket_chat/messages/channel_spec.rb index 5efccbc..628a0bd 100644 --- a/spec/rocket_chat/messages/channel_spec.rb +++ b/spec/rocket_chat/messages/channel_spec.rb @@ -103,7 +103,7 @@ stub_authed_request(:get, described_class.api_path('online?query=%7B%22name%22:%22room-one%22%7D')) .to_return(online_users_response) - stub_authed_request(:get, described_class.api_path('online?query=%7B%22_id%22:%22TZtANZwQt369rR4UR%22%7D')) + stub_authed_request(:get, described_class.api_path('online?_id=TZtANZwQt369rR4UR')) .to_return(online_users_response) stub_authed_request(:get, described_class.api_path('online?query=%7B%22name%22:%22empty-room%22%7D')) diff --git a/spec/rocket_chat/messages/group_spec.rb b/spec/rocket_chat/messages/group_spec.rb index a0f088a..32872be 100644 --- a/spec/rocket_chat/messages/group_spec.rb +++ b/spec/rocket_chat/messages/group_spec.rb @@ -259,7 +259,7 @@ stub_authed_request(:get, described_class.api_path('online?query=%7B%22name%22:%22room-one%22%7D')) .to_return(online_users_response) - stub_authed_request(:get, described_class.api_path('online?query=%7B%22_id%22:%22TZtANZwQt369rR4UR%22%7D')) + stub_authed_request(:get, described_class.api_path('online?_id=TZtANZwQt369rR4UR')) .to_return(online_users_response) stub_authed_request(:get, described_class.api_path('online?query=%7B%22name%22:%22empty-room%22%7D')) diff --git a/spec/shared/room_behaviors.rb b/spec/shared/room_behaviors.rb index 579e04c..55295e0 100644 --- a/spec/shared/room_behaviors.rb +++ b/spec/shared/room_behaviors.rb @@ -17,8 +17,10 @@ } end let(:invalid_room_message) do - %(The required "roomId" or "roomName" param provided does not match any #{described_class.field} ) \ - '[error-room-not-found]' + <<~ERROR.delete("\n") + The required "roomId" or "roomName" param provided does not match any #{described_class.field} + [error-room-not-found] + ERROR end let(:invalid_room_body) do {