docbrown/spec/services/users/cleanup_chat_channels_spec.rb

27 lines
838 B
Ruby

require "rails_helper"
RSpec.describe Users::CleanupChatChannels, type: :service do
let(:user) { create(:user) }
let(:other_user) { create(:user) }
let!(:dm_channel) do
ChatChannels::CreateWithUsers.call(users: [user, other_user])
end
let!(:open_channel) do
ChatChannels::CreateWithUsers.call(users: [user, other_user], channel_type: "open")
end
it "deletes direct chat channels" do
described_class.call(user)
expect(ChatChannelMembership.find_by(chat_channel: dm_channel)).to be_nil
expect(ChatChannel.find_by(id: dm_channel.id)).to be_nil
end
it "does not delete open chat channels" do
described_class.call(user)
ccm = ChatChannelMembership.find_by(chat_channel: open_channel, user: user)
expect(ccm).to be_nil
expect(ChatChannel.find(open_channel.id)).to be_present
end
end