diff options
Diffstat (limited to 'spec/models/personal_access_token_spec.rb')
-rw-r--r-- | spec/models/personal_access_token_spec.rb | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/spec/models/personal_access_token_spec.rb b/spec/models/personal_access_token_spec.rb index f3ef347121e..5bce6a2cc3f 100644 --- a/spec/models/personal_access_token_spec.rb +++ b/spec/models/personal_access_token_spec.rb @@ -64,6 +64,81 @@ RSpec.describe PersonalAccessToken do expect(described_class.for_users([user_1, user_2])).to contain_exactly(token_of_user_1, token_of_user_2) end end + + describe '.created_before' do + let(:last_used_at) { 1.month.ago.beginning_of_hour } + let!(:new_used_token) do + create(:personal_access_token, + created_at: last_used_at + 1.minute, + last_used_at: last_used_at + 1.minute + ) + end + + let!(:old_unused_token) do + create(:personal_access_token, + created_at: last_used_at - 1.minute + ) + end + + let!(:old_formerly_used_token) do + create(:personal_access_token, + created_at: last_used_at - 1.minute, + last_used_at: last_used_at - 1.minute + ) + end + + let!(:old_still_used_token) do + create(:personal_access_token, + created_at: last_used_at - 1.minute, + last_used_at: 1.minute.ago + ) + end + + subject { described_class.created_before(last_used_at) } + + it do + is_expected.to contain_exactly( + old_unused_token, + old_formerly_used_token, + old_still_used_token + ) + end + end + + describe '.last_used_before_or_unused' do + let(:last_used_at) { 1.month.ago.beginning_of_hour } + let!(:unused_token) { create(:personal_access_token) } + let!(:used_token) do + create(:personal_access_token, + created_at: last_used_at + 1.minute, + last_used_at: last_used_at + 1.minute + ) + end + + let!(:old_unused_token) do + create(:personal_access_token, + created_at: last_used_at - 1.minute + ) + end + + let!(:old_formerly_used_token) do + create(:personal_access_token, + created_at: last_used_at - 1.minute, + last_used_at: last_used_at - 1.minute + ) + end + + let!(:old_still_used_token) do + create(:personal_access_token, + created_at: last_used_at - 1.minute, + last_used_at: 1.minute.ago + ) + end + + subject { described_class.last_used_before_or_unused(last_used_at) } + + it { is_expected.to contain_exactly(old_unused_token, old_formerly_used_token) } + end end describe ".active?" do |