Sha256: 51ba6245c045ed7d64314bd6951ca5207915d97605203bd7509a125dd50998ed
Contents?: true
Size: 1.63 KB
Versions: 2
Compression:
Stored size: 1.63 KB
Contents
# frozen_string_literal: true require "spec_helper" describe "Revocable" do subject do Class.new do include Doorkeeper::Models::Revocable end.new end describe :revoke do it "updates :revoked_at attribute with current time" do utc = double utc: double clock = double now: utc expect(subject).to receive(:update_column).with(:revoked_at, clock.now.utc) subject.revoke(clock) end end describe :revoked? do it "is revoked if :revoked_at has passed" do allow(subject).to receive(:revoked_at).and_return(Time.now.utc - 1000) expect(subject).to be_revoked end it "is not revoked if :revoked_at has not passed" do allow(subject).to receive(:revoked_at).and_return(Time.now.utc + 1000) expect(subject).not_to be_revoked end it "is not revoked if :revoked_at is not set" do allow(subject).to receive(:revoked_at).and_return(nil) expect(subject).not_to be_revoked end end describe :revoke_previous_refresh_token! do it "revokes the previous token if exists and resets the `previous_refresh_token` attribute" do previous_token = FactoryBot.create( :access_token, refresh_token: "refresh_token", ) current_token = FactoryBot.create( :access_token, previous_refresh_token: previous_token.refresh_token, ) expect_any_instance_of( Doorkeeper::AccessToken, ).to receive(:revoke).and_call_original current_token.revoke_previous_refresh_token! expect(current_token.previous_refresh_token).to be_empty expect(previous_token.reload).to be_revoked end end end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
doorkeeper-5.4.0.rc1 | spec/lib/models/revocable_spec.rb |
doorkeeper-mongodb-5.2.1 | spec/lib/models/revocable_spec.rb |