-
Notifications
You must be signed in to change notification settings - Fork 121
/
find_access_control_spec.rb
30 lines (25 loc) · 1.07 KB
/
find_access_control_spec.rb
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
# frozen_string_literal: true
require 'wings_helper'
require 'wings/services/custom_queries/find_access_control'
RSpec.describe Wings::CustomQueries::FindAccessControl, :active_fedora do
subject(:query_handler) { described_class.new(query_service: query_service) }
let(:adapter) { Valkyrie::MetadataAdapter.find(:wings_adapter) }
let(:persister) { adapter.persister }
let(:query_service) { adapter.query_service }
describe '#find_access_control' do
context 'for missing object' do
let(:resource) { Valkyrie::Resource.new }
it 'raises ObjectNotFoundError' do
expect { query_handler.find_access_control_for(resource: resource) }
.to raise_error { Valkyrie::Persistence::ObjectNotFoundError }
end
end
context 'when the resource has been created via Wings' do
let(:resource) { persister.save(resource: Hyrax::Resource.new) }
it 'finds an empty acl' do
expect(query_handler.find_access_control_for(resource: resource))
.to have_attributes(permissions: be_empty)
end
end
end
end