Skip to content

Instantly share code, notes, and snippets.

@paul
Created November 27, 2008 00:13
Show Gist options
  • Save paul/29640 to your computer and use it in GitHub Desktop.
Save paul/29640 to your computer and use it in GitHub Desktop.
require File.join(File.dirname(__FILE__), 'privilege_shared_specs')
describe 'POST SSKJ1 to /privileges', :type => 'service' do
request { |attributes|
post_sskj1(privileges_url, privilege_sskj1_json(attributes))
}
should_be_created
should_require_pairs :name
should_ignore_pairs :href, :id, :_type
should_validate_pairs :name,
:valid => ['test', 'test_priv'],
:invalid => ['Test', 'test-priv', 'test1', "test" * 30, 'create_client']
should_require_privilege :create_privilege
end
require File.join(File.dirname(__FILE__), 'privilege_shared_specs')
describe 'DELETE SSKJ1 to /privileges/x', :type => 'service' do
subject { |attributes|
Privilege.create(:name => 'test_delete_privilege')
}
request {
delete_sskj1(privilege_url(subject))
}
should_be_a_sskj1_error_document
it "should be not allowed" do
response.should be_method_not_allowed_error
end
end
require File.join(File.dirname(__FILE__), 'privilege_shared_specs')
describe 'GET SSKJ1 from /privileges', :type => 'service' do
subject {
Privilege
}
request {
get_sskj1(privileges_url)
}
should_be_a_sskj1_collection_document
should_require_privilege :view_privilege
should_specify_caching :max_age => 1.hour,
:last_modified_field => :created_at
end
require File.join(File.dirname(__FILE__), 'privilege_shared_specs')
describe 'GET SSKJ1 from /privileges/x', :type => 'service' do
subject { |attributes|
Privilege.create(:name => 'test_get_privilege')
}
request {
get_sskj1(privilege_url(subject))
}
should_be_a_sskj1_document
should_be_a_sskj1_object_document :except => [:id]
should_have_pairs :id => 'test_get_privilege',
:name => 'test_get_privilege'
should_require_privilege :view_privilege
should_specify_caching :max_age => 1.hour,
:last_modified_field => :created_at
end
require File.join(File.dirname(__FILE__), 'privilege_shared_specs')
describe 'PUT SSKJ1 to /privileges/x', :type => 'service' do
subject {
Privilege.create(:name => 'test_update_privilege')
}
request {
put_sskj1(privilege_url(subject))
}
should_be_a_sskj1_error_document
it "should be not allowed" do
response.should be_method_not_allowed_error
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment