Project

General

Profile

Download (974 Bytes) Statistics
| Branch: | Tag: | Revision:
require 'test_helper'

class RecordLoaderTest < ActiveSupport::TestCase
let(:model) { FactoryBot.create(:model) }

context 'as admin user' do
let(:user) do
FactoryBot.create(:user, :admin)
end

test 'loads a single object' do
User.current = user
name = GraphQL::Batch.batch do
RecordLoader.for(Model).load(model.id).then(&:name)
end
assert_equal model.name, name
end

test 'loads by global id' do
global_id = Foreman::GlobalId.for(model)
name = GraphQL::Batch.batch do
RecordLoader.for(Model).load_by_global_id(global_id).then(&:name)
end
assert_equal model.name, name
end
end

context 'as limited user' do
let(:user) do
setup_user 'view', 'hosts'
end

test 'loads a single object' do
User.current = user
object = GraphQL::Batch.batch do
RecordLoader.for(Model).load(model.id).then
end
assert_nil object
end
end
end
(3-3/3)