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 {