Files
calligraphy/spec/resource/resource_spec.rb
2018-01-01 01:12:33 -06:00

41 lines
1.3 KiB
Ruby

require 'rails_helper'
RSpec.describe 'Resource' do
context 'base method' do
resource_methods_without_inputs = %w(
ancestor_exist? collection? create_collection delete_collection etag
exists? lock_is_exclusive? locked? read readable? refresh_lock
creationdate displayname getcontentlanguage getcontentlength getcontenttype
getetag getlastmodified lockdiscovery resourcetype supportedlock
)
resource_methods_with_inputs = %w(
copy copy_options lock locked_to_user? propfind proppatch unlock write
)
resource_methods_without_inputs.each do |method|
describe "##{method}" do
it 'raises NotImplementedError' do
resource = Calligraphy::Resource.new
expect{resource.send(method)}.to raise_exception(NotImplementedError)
end
end
end
resource_methods_with_inputs.each do |method|
describe "##{method}" do
it 'raises NotImplementedError' do
resource = Calligraphy::Resource.new
expect{resource.send(method, nil)}.to raise_exception(NotImplementedError)
end
end
end
describe '#dav_compliance' do
it 'advertises full WebDAV compliance' do
resource = Calligraphy::Resource.new
expect(resource.dav_compliance).to eq('1, 2, 3')
end
end
end
end