Fix /api/v1/conversations sometimes returning empty accounts (#25499)
This commit is contained in:
parent
ec91ea4457
commit
ebfeaebedb
2 changed files with 6 additions and 10 deletions
|
@ -32,14 +32,8 @@ class AccountConversation < ApplicationRecord
|
|||
end
|
||||
|
||||
def participant_accounts
|
||||
@participant_accounts ||= begin
|
||||
if participant_account_ids.empty?
|
||||
[account]
|
||||
else
|
||||
participants = Account.where(id: participant_account_ids).to_a
|
||||
participants.empty? ? [account] : participants
|
||||
end
|
||||
end
|
||||
@participant_accounts ||= Account.where(id: participant_account_ids).to_a
|
||||
@participant_accounts.presence || [account]
|
||||
end
|
||||
|
||||
class << self
|
||||
|
|
|
@ -18,6 +18,7 @@ RSpec.describe Api::V1::ConversationsController do
|
|||
|
||||
before do
|
||||
PostStatusService.new.call(other.account, text: 'Hey @alice', visibility: 'direct')
|
||||
PostStatusService.new.call(user.account, text: 'Hey, nobody here', visibility: 'direct')
|
||||
end
|
||||
|
||||
it 'returns http success' do
|
||||
|
@ -33,7 +34,8 @@ RSpec.describe Api::V1::ConversationsController do
|
|||
it 'returns conversations' do
|
||||
get :index
|
||||
json = body_as_json
|
||||
expect(json.size).to eq 1
|
||||
expect(json.size).to eq 2
|
||||
expect(json[0][:accounts].size).to eq 1
|
||||
end
|
||||
|
||||
context 'with since_id' do
|
||||
|
@ -41,7 +43,7 @@ RSpec.describe Api::V1::ConversationsController do
|
|||
it 'returns conversations' do
|
||||
get :index, params: { since_id: Mastodon::Snowflake.id_at(1.hour.ago, with_random: false) }
|
||||
json = body_as_json
|
||||
expect(json.size).to eq 1
|
||||
expect(json.size).to eq 2
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue