gitlab-org--gitlab-foss/spec/finders/applications_finder_spec.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

53 lines
1.8 KiB
Ruby
Raw Normal View History

2018-10-17 20:33:46 -04:00
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe ApplicationsFinder do
2018-10-17 20:33:46 -04:00
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: '') }
2018-10-17 20:33:46 -04:00
describe '#execute' do
it 'returns an array of instance applications' do
2018-10-17 20:33:46 -04:00
found = described_class.new.execute
2018-10-17 21:08:23 -04:00
expect(found).to match_array([application1, application2])
2018-10-17 20:33:46 -04:00
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
2018-10-17 20:33:46 -04:00
end
end
end