Sha256: 1eb4ab52aae63ec19530d5c6c8fba781b25fc2c7473f0d5d1f67f8d6b2942fa3

Contents?: true

Size: 1.18 KB

Versions: 1

Compression:

Stored size: 1.18 KB

Contents

require 'spec_helper'

describe 'Doorkeeper::Models::Scopes' do
  subject do
    Class.new(Struct.new(:scopes)) do
      include Doorkeeper::Models::Scopes
    end.new
  end

  before do
    subject[:scopes] = 'public admin'
  end

  describe :scopes do
    it 'is a `Scopes` class' do
      expect(subject.scopes).to be_a(Doorkeeper::OAuth::Scopes)
    end

    it 'includes scopes' do
      expect(subject.scopes).to include('public')
    end
  end

  describe :scopes= do
    it 'accepts String' do
      subject.scopes = 'private admin'
      expect(subject.scopes_string).to eq('private admin')
    end

    it 'accepts Array' do
      subject.scopes = %w[private admin]
      expect(subject.scopes_string).to eq('private admin')
    end
  end

  describe :scopes_string do
    it 'is a `Scopes` class' do
      expect(subject.scopes_string).to eq('public admin')
    end
  end

  describe :includes_scope? do
    it 'should return true if at least one scope is included' do
      expect(subject.includes_scope?('public', 'private')).to be true
    end

    it 'should return false if no scopes are included' do
      expect(subject.includes_scope?('teacher', 'student')).to be false
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
doorkeeper-5.1.0.rc2 spec/lib/models/scopes_spec.rb