Wednesday, July 15, 2026 2:53:29 AM
> request_spec.rb
# frozen_string_literal: true

describe ESM::Request do
  let!(:user_1) { create(:user) }
  let!(:user_2) { create(:user) }
  let(:request) do
    create(
      :request,
      requestor_user_id: user_1.id,
      requestee_user_id: user_2.id,
      requested_from_channel_id: Spec::Snowflake.next,
      command_name: "id"
    )
  end

  describe "scope#expired" do
    it "returns expired requests" do
      request.update(expires_at: Time.current - 1.day)
      expect(ESM::Request.expired.size).to eq(1)
    end
  end

  describe "#respond" do
    it "is accepted" do
      expect { request.respond(true) }.not_to raise_error
      expect(request.accepted).to be(true)
    end

    it "is denied" do
      expect { request.respond(false) }.not_to raise_error
      expect(request.accepted).to be(false)
    end

    it "responds" do
      expect { request.respond(true) }.not_to raise_error
      expect(ESM::Request.all.size).to eq(0)
    end
  end
end
All opinions represented herein are my own
- © 2024 - 2026 itsthedevman
- build 43aa0d7