lib/heroku/api/mock/features.rb in heroku-api-0.3.4 vs lib/heroku/api/mock/features.rb in heroku-api-0.3.5
- old
+ new
@@ -67,30 +67,40 @@
}
end
end
# stub POST /features/:feature
- Excon.stub(:expects => 200, :method => :post, :path => %r{^/features/([^/]+)$}) do |params|
+ Excon.stub(:expects => [200, 201], :method => :post, :path => %r{^/features/([^/]+)$}) do |params|
request_params, mock_data = parse_stub_params(params)
app = request_params[:query].has_key?('app') && request_params[:query]['app']
feature, _ = request_params[:captures][:path]
if !app || get_mock_app(mock_data, app)
# app found
if feature_data = get_mock_feature(mock_data, feature)
feature_data = feature_data.merge('enabled' => true)
# feature exists
case feature_data['kind']
when 'app'
- mock_data[:features][:app][app] << feature_data
+ status = if mock_data[:features][:app][app].include?(feature_data)
+ 200
+ else
+ mock_data[:features][:app][app] << feature_data
+ 201
+ end
{
:body => Heroku::API::OkJson.encode(feature_data),
- :status => 200
+ :status => status
}
when 'user'
- mock_data[:features][:user] << feature_data
+ status = if mock_data[:features][:user].include(feature_data)
+ 200
+ else
+ mock_data[:features][:user] << feature_data
+ 201
+ end
{
:body => '',
- :status => 200
+ :status => status
}
end
else
# feature does not exist
{