Treat repository_id as id for singleton settings
This commit is contained in:
parent
fd948929a1
commit
b9db32e3c2
|
@ -45,7 +45,7 @@ GIT
|
|||
|
||||
GIT
|
||||
remote: git://github.com/travis-ci/travis-core.git
|
||||
revision: 6119f4ad0938a43926c45d70564b090d96e61e61
|
||||
revision: 95a7609e30222f0f9600eed27b4df273868a3448
|
||||
specs:
|
||||
travis-core (0.0.1)
|
||||
actionmailer (~> 3.2.19)
|
||||
|
|
|
@ -7,9 +7,9 @@ class Travis::Api::App
|
|||
def create_settings_class(name)
|
||||
klass = Class.new(self) do
|
||||
define_method(:name) { name }
|
||||
get("/", scope: :private) do show end
|
||||
patch("/", scope: :private) do update end
|
||||
delete("/", scope: :private) do destroy end
|
||||
get("/:repository_id", scope: :private) do show end
|
||||
patch("/:repository_id", scope: :private) do update end
|
||||
delete("/:repository_id", scope: :private) do destroy end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -41,14 +41,14 @@ describe Travis::Api::App::SettingsEndpoint do
|
|||
item = settings.create(:item, name: 'an item', secret: 'TEH SECRET')
|
||||
settings.save
|
||||
|
||||
response = get '/settings/item', { repository_id: repo.id }, headers
|
||||
response = get "/settings/item/#{repo.id}", {}, headers
|
||||
json = JSON.parse(response.body)
|
||||
json['item']['name'].should == 'an item'
|
||||
json['item'].should_not have_key('secret')
|
||||
end
|
||||
|
||||
it 'returns 404 if item can\'t be found' do
|
||||
response = get '/settings/item', { repository_id: repo.id }, headers
|
||||
response = get "/settings/item/#{repo.id}", {}, headers
|
||||
json = JSON.parse(response.body)
|
||||
json['error'].should == "Could not find a requested setting"
|
||||
end
|
||||
|
@ -61,7 +61,7 @@ describe Travis::Api::App::SettingsEndpoint do
|
|||
settings.save
|
||||
|
||||
body = { item: { name: 'a new name', secret: 'a new secret' } }.to_json
|
||||
response = patch "/settings/item?repository_id=#{repo.id}", body, headers
|
||||
response = patch "/settings/item/#{repo.id}", body, headers
|
||||
json = JSON.parse(response.body)
|
||||
json['item']['name'].should == 'a new name'
|
||||
json['item'].should_not have_key('secret')
|
||||
|
@ -75,7 +75,7 @@ describe Travis::Api::App::SettingsEndpoint do
|
|||
repo.settings.item.should be_nil
|
||||
|
||||
body = { item: { name: 'a name', secret: 'a secret' } }.to_json
|
||||
response = patch "/settings/item?repository_id=#{repo.id}", body, headers
|
||||
response = patch "/settings/item/#{repo.id}", body, headers
|
||||
json = JSON.parse(response.body)
|
||||
json['item']['name'].should == 'a name'
|
||||
json['item'].should_not have_key('secret')
|
||||
|
@ -87,7 +87,7 @@ describe Travis::Api::App::SettingsEndpoint do
|
|||
|
||||
it 'returns an error message if item is invalid' do
|
||||
body = { item: { name: '' } }.to_json
|
||||
response = patch "/settings/item?repository_id=#{repo.id}", body, headers
|
||||
response = patch "/settings/item/#{repo.id}", body, headers
|
||||
response.status.should == 422
|
||||
|
||||
json = JSON.parse(response.body)
|
||||
|
@ -110,8 +110,7 @@ describe Travis::Api::App::SettingsEndpoint do
|
|||
item = settings.create(:item, name: 'an item')
|
||||
settings.save
|
||||
|
||||
params = { repository_id: repo.id }
|
||||
response = delete '/settings/item', params, headers
|
||||
response = delete "/settings/item/#{repo.id}", {}, headers
|
||||
json = JSON.parse(response.body)
|
||||
json['item']['name'].should == 'an item'
|
||||
json['item'].should_not have_key('secret')
|
||||
|
|
Loading…
Reference in New Issue
Block a user