Wednesday, July 15, 2026 4:06:59 AM
> server_update_spec.rb
# frozen_string_literal: true

describe ESM::Discord::Event::ServerUpdate do
  let(:discord_user) { build(:discord_user) }
  let(:discord_server) { build(:discord_server, owner: discord_user) }

  let!(:user) { create(:user, discord_user: discord_user) }
  let!(:community) { create(:community, discord_server:) }

  subject(:event) { described_class.new(discord_server) }

  context "when the server's owner already matches" do
    before do
      community.update!(owner_user_id: user.id)
    end

    it "is expected to not change the owner_user_id" do
      expect(community.owner_user_id).to eq(user.id)

      event.run!

      community.reload
      expect(community.owner_user_id).to eq(user.id)
    end
  end

  context "when the server's owner_user_id does not match the owner's" do
    let!(:different_user) { create(:user) }

    before do
      community.update!(owner_user_id: different_user.id)
    end

    it "is expected to set the owner_user_id" do
      expect(community.owner_user_id).to eq(different_user.id)

      event.run!

      community.reload
      expect(community.owner_user_id).to eq(user.id)
    end
  end
end
All opinions represented herein are my own
- © 2024 - 2026 itsthedevman
- build 43aa0d7