Sha256: f2e8ac2fd6321db473b1fc8f833e116433e328c3030d4709b9821c331754d0cd

Contents?: true

Size: 1023 Bytes

Versions: 14

Compression:

Stored size: 1023 Bytes

Contents

require 'spec_helper'
require 'active_support/core_ext/object/blank'
require 'doorkeeper/models/concerns/revocable'

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
      clock = double now: double
      expect(subject).to receive(:update_attribute).with(:revoked_at, clock.now)
      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(DateTime.now - 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(DateTime.now + 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
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
doorkeeper-2.2.2 spec/lib/models/revocable_spec.rb
doorkeeper-3.0.0.rc1 spec/lib/models/revocable_spec.rb
doorkeeper-2.2.1 spec/lib/models/revocable_spec.rb
doorkeeper-2.2.0 spec/lib/models/revocable_spec.rb
doorkeeper-2.1.4 spec/lib/models/revocable_spec.rb
doorkeeper-2.1.3 spec/lib/models/revocable_spec.rb
doorkeeper-2.1.2 spec/lib/models/revocable_spec.rb
doorkeeper-2.1.1 spec/lib/models/revocable_spec.rb
doorkeeper-2.1.0 spec/lib/models/revocable_spec.rb
doorkeeper-2.0.1 spec/lib/models/revocable_spec.rb
doorkeeper-2.0.0 spec/lib/models/revocable_spec.rb
doorkeeper-2.0.0.rc3 spec/lib/models/revocable_spec.rb
doorkeeper-2.0.0.rc2 spec/lib/models/revocable_spec.rb
doorkeeper-2.0.0.alpha1 spec/lib/models/revocable_spec.rb