52 lines
1.8 KiB
Ruby
52 lines
1.8 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
|
|
RSpec.describe ApplicationsFinder do
|
|
let(:application1) { create(:application, name: 'some_application', owner: nil, redirect_uri: 'http://some_application.url', scopes: '') }
|
|
let(:application2) { create(:application, name: 'another_application', owner: nil, redirect_uri: 'http://other_application.url', scopes: '') }
|
|
let(:user_application) { create(:application, name: 'user_application', owner: create(:user), redirect_uri: 'http://user_application.url', scopes: '') }
|
|
let(:group_application) { create(:application, name: 'group_application', owner: create(:group), redirect_uri: 'http://group_application.url', scopes: '') }
|
|
|
|
describe '#execute' do
|
|
it 'returns an array of instance applications' do
|
|
found = described_class.new.execute
|
|
|
|
expect(found).to match_array([application1, application2])
|
|
end
|
|
|
|
context 'by_id' do
|
|
context 'with existing id' do
|
|
it 'returns the application' do
|
|
params = { id: application1.id }
|
|
found = described_class.new(params).execute
|
|
|
|
expect(found).to match(application1)
|
|
end
|
|
end
|
|
|
|
context 'with invalid id' do
|
|
it 'returns nil for user application' do
|
|
params = { id: user_application.id }
|
|
found = described_class.new(params).execute
|
|
|
|
expect(found).to be_nil
|
|
end
|
|
|
|
it 'returns nil for group application' do
|
|
params = { id: group_application.id }
|
|
found = described_class.new(params).execute
|
|
|
|
expect(found).to be_nil
|
|
end
|
|
|
|
it 'returns nil for non-existing application' do
|
|
params = { id: non_existing_record_id }
|
|
found = described_class.new(params).execute
|
|
|
|
expect(found).to be_nil
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|