Sha256: 7e776799761545e997df452c3542064a80a893c383cc4a373ae5a55939a755aa

Contents?: true

Size: 879 Bytes

Versions: 8

Compression:

Stored size: 879 Bytes

Contents

# frozen_string_literal: true

describe PUNK::ExpireSessionsWorker do
  before do
    create(:session, state: :pending)
    create(:session, state: :active)
  end

  it "does not expires new pending" do
    expect(PUNK::Session.count).to eq(2)
    described_class.perform_async
    described_class.drain
    expect(PUNK::Session.expired.count).to eq(0)
  end

  it "expires pending sessions after five minutes" do
    expect(PUNK::Session.pending.count).to eq(1)
    Timecop.travel(5.minutes.from_now)
    described_class.perform_async
    described_class.drain
    expect(PUNK::Session.pending.count).to eq(0)
  end

  it "expires unused active sessions after one month" do
    expect(PUNK::Session.active.count).to eq(1)
    Timecop.travel(32.days.from_now)
    described_class.perform_async
    described_class.drain
    expect(PUNK::Session.expired.count).to eq(2)
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
punk-0.4.1 spec/workers/punk/expire_sessions_worker_spec.rb
punk-0.3.6 spec/workers/punk/expire_sessions_worker_spec.rb
punk-0.3.5 spec/workers/punk/expire_sessions_worker_spec.rb
punk-0.3.4 spec/workers/punk/expire_sessions_worker_spec.rb
punk-0.3.3 spec/workers/punk/expire_sessions_worker_spec.rb
punk-0.3.2 spec/workers/punk/expire_sessions_worker_spec.rb
punk-0.3.1 spec/workers/punk/expire_sessions_worker_spec.rb
punk-0.2.0 spec/workers/punk/expire_sessions_worker_spec.rb