summaryrefslogtreecommitdiff
path: root/spec/models/personal_access_token_spec.rb
blob: 4cc9cf02e6d34ac5770f82af573625677ee77760 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
require 'spec_helper'

describe PersonalAccessToken, models: true do
  describe ".generate" do
    it "generates a random token" do
      personal_access_token = PersonalAccessToken.generate({})
      expect(personal_access_token.token).to be_present
    end

    it "doesn't save the record" do
      personal_access_token = PersonalAccessToken.generate({})
      expect(personal_access_token).not_to be_persisted
    end
  end

  describe 'validate_scopes' do
    it "allows creating a token with API scopes" do
      personal_access_token = build(:personal_access_token)
      personal_access_token.scopes = [:api, :read_user]

      expect(personal_access_token).to be_valid
    end

    it "rejects creating a token with non-API scopes" do
      personal_access_token = build(:personal_access_token)
      personal_access_token.scopes = [:openid, :api]

      expect(personal_access_token).not_to be_valid
    end
  end
end