Sha256: 4367877c5b18114078f38a0d9e05f0f688024edd7de5cb04bd561a9f9112c327

Contents?: true

Size: 957 Bytes

Versions: 1

Compression:

Stored size: 957 Bytes

Contents

# frozen_string_literal: true

describe PUNK::ClearSessionAction do
  context "with no session provided" do
    it "returns a validation error" do
      view = described_class.run.result.render(:json)
      expect(view).to match("session is not present")
      expect(view).to match("session is empty")
    end
  end

  context "with an inactive session provided" do
    it "returns a validation error" do
      session = create(:session)
      view = described_class.run(session: session).result.render(:json)
      expect(view).to match("session is not in active state")
      expect(view).to match("session may not clear")
    end
  end

  context "with an active session provided" do
    it "clears the session" do
      session = create(:session, state: :active)
      view = described_class.run(session: session).result.render(:json)
      expect(view).to match("You have been logged out")
      expect(session.deleted?).to be(true)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
punk-0.4.1 spec/actions/sessions/punk/clear_session_action_spec.rb