From 4d6dadc8f8af986a0792fb388775a174e76b0b7d Mon Sep 17 00:00:00 2001
From: Timothy Andrew <mail@timothyandrew.net>
Date: Thu, 14 Jul 2016 09:24:59 +0530
Subject: [PATCH] Make specs compatible with PhantomJS versions < 2.

1. These versions of PhantomJS don't support `PATCH` requests, so we use
   a `POST` with `_method` set to `PATCH`.
---
 .../javascripts/protected_branches_access_select.js.coffee    | 3 ++-
 spec/features/protected_branches_spec.rb                      | 4 ----
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/app/assets/javascripts/protected_branches_access_select.js.coffee b/app/assets/javascripts/protected_branches_access_select.js.coffee
index 2c29513ae61..a4d9b6eb616 100644
--- a/app/assets/javascripts/protected_branches_access_select.js.coffee
+++ b/app/assets/javascripts/protected_branches_access_select.js.coffee
@@ -21,10 +21,11 @@ class @ProtectedBranchesAccessSelect
     $(dropdown).find('.dropdown-toggle-text').text(selected.text)
     if @saveOnSelect
       $.ajax
-        type: "PATCH"
+        type: "POST"
         url: $(dropdown).data('url')
         dataType: "json"
         data:
+          _method: 'PATCH'
           id: $(dropdown).data('id')
           protected_branch:
             "#{$(dropdown).data('type')}": selected.id
diff --git a/spec/features/protected_branches_spec.rb b/spec/features/protected_branches_spec.rb
index 553d1c70461..d72b62a4962 100644
--- a/spec/features/protected_branches_spec.rb
+++ b/spec/features/protected_branches_spec.rb
@@ -97,8 +97,6 @@ feature 'Projected Branches', feature: true, js: true do
         expect(ProtectedBranch.last.allowed_to_push).to eq(access_type_id)
       end
 
-      # This spec fails on PhantomJS versions below 2.0, which don't support `PATCH` requests.
-      # https://github.com/ariya/phantomjs/issues/11384
       it "allows updating protected branches so that #{access_type_name} can push to them" do
         visit namespace_project_protected_branches_path(project.namespace, project)
         set_protected_branch_name('master')
@@ -130,8 +128,6 @@ feature 'Projected Branches', feature: true, js: true do
         expect(ProtectedBranch.last.allowed_to_merge).to eq(access_type_id)
       end
 
-      # This spec fails on PhantomJS versions below 2.0, which don't support `PATCH` requests.
-      # https://github.com/ariya/phantomjs/issues/11384
       it "allows updating protected branches so that #{access_type_name} can merge to them" do
         visit namespace_project_protected_branches_path(project.namespace, project)
         set_protected_branch_name('master')
-- 
GitLab