From 53b17f030161ba2afade8fe3d41b849a7fa41a89 Mon Sep 17 00:00:00 2001 From: Manoj MJ Date: Wed, 19 Jun 2019 07:08:56 +0000 Subject: Add documentation and tests This commit adds - feature specs - to test the ability of a user with "developer" permission to delete tags in repositories. - documentation --- spec/features/tags/developer_creates_tag_spec.rb | 95 ++++++++++++++++++++++ spec/features/tags/developer_deletes_tag_spec.rb | 56 +++++++++++++ spec/features/tags/developer_updates_tag_spec.rb | 54 ++++++++++++ spec/features/tags/developer_views_tags_spec.rb | 83 +++++++++++++++++++ spec/features/tags/master_creates_tag_spec.rb | 94 --------------------- spec/features/tags/master_deletes_tag_spec.rb | 55 ------------- spec/features/tags/master_updates_tag_spec.rb | 53 ------------ spec/features/tags/master_views_tags_spec.rb | 82 ------------------- spec/lib/gitlab/checks/tag_check_spec.rb | 5 +- spec/lib/gitlab/git_access_spec.rb | 2 +- spec/policies/project_policy_spec.rb | 2 +- spec/requests/api/tags_spec.rb | 2 +- .../policies/project_policy_shared_examples.rb | 1 + 13 files changed, 294 insertions(+), 290 deletions(-) create mode 100644 spec/features/tags/developer_creates_tag_spec.rb create mode 100644 spec/features/tags/developer_deletes_tag_spec.rb create mode 100644 spec/features/tags/developer_updates_tag_spec.rb create mode 100644 spec/features/tags/developer_views_tags_spec.rb delete mode 100644 spec/features/tags/master_creates_tag_spec.rb delete mode 100644 spec/features/tags/master_deletes_tag_spec.rb delete mode 100644 spec/features/tags/master_updates_tag_spec.rb delete mode 100644 spec/features/tags/master_views_tags_spec.rb (limited to 'spec') diff --git a/spec/features/tags/developer_creates_tag_spec.rb b/spec/features/tags/developer_creates_tag_spec.rb new file mode 100644 index 00000000000..b2ad7ed8f3f --- /dev/null +++ b/spec/features/tags/developer_creates_tag_spec.rb @@ -0,0 +1,95 @@ +require 'spec_helper' + +describe 'Developer creates tag' do + let(:user) { create(:user) } + let(:group) { create(:group) } + let(:project) { create(:project, :repository, namespace: group) } + + before do + project.add_developer(user) + sign_in(user) + end + + context 'from tag list' do + before do + visit project_tags_path(project) + end + + it 'with an invalid name displays an error' do + create_tag_in_form(tag: 'v 1.0', ref: 'master') + + expect(page).to have_content 'Tag name invalid' + end + + it 'with an invalid reference displays an error' do + create_tag_in_form(tag: 'v2.0', ref: 'foo') + + expect(page).to have_content 'Target foo is invalid' + end + + it 'that already exists displays an error' do + create_tag_in_form(tag: 'v1.1.0', ref: 'master') + + expect(page).to have_content 'Tag v1.1.0 already exists' + end + + it 'with multiline message displays the message in a
 block' do
+      create_tag_in_form(tag: 'v3.0', ref: 'master', message: "Awesome tag message\n\n- hello\n- world")
+
+      expect(current_path).to eq(
+        project_tag_path(project, 'v3.0'))
+      expect(page).to have_content 'v3.0'
+      page.within 'pre.wrap' do
+        expect(page).to have_content "Awesome tag message - hello - world"
+      end
+    end
+
+    it 'with multiline release notes parses the release note as Markdown' do
+      create_tag_in_form(tag: 'v4.0', ref: 'master', desc: "Awesome release notes\n\n- hello\n- world")
+
+      expect(current_path).to eq(
+        project_tag_path(project, 'v4.0'))
+      expect(page).to have_content 'v4.0'
+      page.within '.description' do
+        expect(page).to have_content 'Awesome release notes'
+        expect(page).to have_selector('ul li', count: 2)
+      end
+    end
+
+    it 'opens dropdown for ref', :js do
+      click_link 'New tag'
+      ref_row = find('.form-group:nth-of-type(2) .col-sm-10')
+      page.within ref_row do
+        ref_input = find('[name="ref"]', visible: false)
+        expect(ref_input.value).to eq 'master'
+        expect(find('.dropdown-toggle-text')).to have_content 'master'
+
+        find('.js-branch-select').click
+
+        expect(find('.dropdown-menu')).to have_content 'empty-branch'
+      end
+    end
+  end
+
+  context 'from new tag page' do
+    before do
+      visit new_project_tag_path(project)
+    end
+
+    it 'description has emoji autocomplete', :js do
+      find('#release_description').native.send_keys('')
+      fill_in 'release_description', with: ':'
+
+      expect(page).to have_selector('.atwho-view')
+    end
+  end
+
+  def create_tag_in_form(tag:, ref:, message: nil, desc: nil)
+    click_link 'New tag'
+    fill_in 'tag_name', with: tag
+    find('#ref', visible: false).set(ref)
+    fill_in 'message', with: message unless message.nil?
+    fill_in 'release_description', with: desc unless desc.nil?
+    click_button 'Create tag'
+  end
+end
diff --git a/spec/features/tags/developer_deletes_tag_spec.rb b/spec/features/tags/developer_deletes_tag_spec.rb
new file mode 100644
index 00000000000..dc4c7a4fb0a
--- /dev/null
+++ b/spec/features/tags/developer_deletes_tag_spec.rb
@@ -0,0 +1,56 @@
+require 'spec_helper'
+
+describe 'Developer deletes tag' do
+  let(:user) { create(:user) }
+  let(:group) { create(:group) }
+  let(:project) { create(:project, :repository, namespace: group) }
+
+  before do
+    project.add_developer(user)
+    sign_in(user)
+    visit project_tags_path(project)
+  end
+
+  context 'from the tags list page', :js do
+    it 'deletes the tag' do
+      expect(page).to have_content 'v1.1.0'
+
+      delete_first_tag
+
+      expect(page).not_to have_content 'v1.1.0'
+    end
+  end
+
+  context 'from a specific tag page' do
+    it 'deletes the tag' do
+      click_on 'v1.0.0'
+      expect(current_path).to eq(
+        project_tag_path(project, 'v1.0.0'))
+
+      click_on 'Delete tag'
+
+      expect(current_path).to eq(
+        project_tags_path(project))
+      expect(page).not_to have_content 'v1.0.0'
+    end
+  end
+
+  context 'when pre-receive hook fails', :js do
+    before do
+      allow_any_instance_of(Gitlab::GitalyClient::OperationService).to receive(:rm_tag)
+        .and_raise(Gitlab::Git::PreReceiveError, 'GitLab: Do not delete tags')
+    end
+
+    it 'shows the error message' do
+      delete_first_tag
+
+      expect(page).to have_content('Do not delete tags')
+    end
+  end
+
+  def delete_first_tag
+    page.within('.content') do
+      accept_confirm { first('.btn-remove').click }
+    end
+  end
+end
diff --git a/spec/features/tags/developer_updates_tag_spec.rb b/spec/features/tags/developer_updates_tag_spec.rb
new file mode 100644
index 00000000000..1e11fc9e5d5
--- /dev/null
+++ b/spec/features/tags/developer_updates_tag_spec.rb
@@ -0,0 +1,54 @@
+require 'spec_helper'
+
+describe 'Developer updates tag' do
+  let(:user) { create(:user) }
+  let(:group) { create(:group) }
+  let(:project) { create(:project, :repository, namespace: group) }
+
+  before do
+    project.add_developer(user)
+    sign_in(user)
+    visit project_tags_path(project)
+  end
+
+  context 'from the tags list page' do
+    it 'updates the release notes' do
+      page.within(first('.content-list .controls')) do
+        click_link 'Edit release notes'
+      end
+
+      fill_in 'release_description', with: 'Awesome release notes'
+      click_button 'Save changes'
+
+      expect(current_path).to eq(
+        project_tag_path(project, 'v1.1.0'))
+      expect(page).to have_content 'v1.1.0'
+      expect(page).to have_content 'Awesome release notes'
+    end
+
+    it 'description has emoji autocomplete', :js do
+      page.within(first('.content-list .controls')) do
+        click_link 'Edit release notes'
+      end
+
+      find('#release_description').native.send_keys('')
+      fill_in 'release_description', with: ':'
+
+      expect(page).to have_selector('.atwho-view')
+    end
+  end
+
+  context 'from a specific tag page' do
+    it 'updates the release notes' do
+      click_on 'v1.1.0'
+      click_link 'Edit release notes'
+      fill_in 'release_description', with: 'Awesome release notes'
+      click_button 'Save changes'
+
+      expect(current_path).to eq(
+        project_tag_path(project, 'v1.1.0'))
+      expect(page).to have_content 'v1.1.0'
+      expect(page).to have_content 'Awesome release notes'
+    end
+  end
+end
diff --git a/spec/features/tags/developer_views_tags_spec.rb b/spec/features/tags/developer_views_tags_spec.rb
new file mode 100644
index 00000000000..09e644c6b97
--- /dev/null
+++ b/spec/features/tags/developer_views_tags_spec.rb
@@ -0,0 +1,83 @@
+require 'spec_helper'
+
+describe 'Developer views tags' do
+  let(:user) { create(:user) }
+  let(:group) { create(:group) }
+
+  before do
+    project.add_maintainer(user)
+    sign_in(user)
+  end
+
+  context 'when project has no tags' do
+    let(:project) { create(:project_empty_repo, namespace: group) }
+
+    before do
+      visit project_path(project)
+      click_on 'Add README'
+      fill_in :commit_message, with: 'Add a README file', visible: true
+      click_button 'Commit changes'
+      visit project_tags_path(project)
+    end
+
+    it 'displays a specific message' do
+      expect(page).to have_content 'Repository has no tags yet.'
+    end
+  end
+
+  context 'when project has tags' do
+    let(:project) { create(:project, :repository, namespace: group) }
+    let(:repository) { project.repository }
+
+    before do
+      visit project_tags_path(project)
+    end
+
+    it 'avoids a N+1 query in branches index' do
+      control_count = ActiveRecord::QueryRecorder.new { visit project_tags_path(project) }.count
+
+      %w(one two three four five).each { |tag| repository.add_tag(user, tag, 'master', 'foo') }
+
+      expect { visit project_tags_path(project) }.not_to exceed_query_limit(control_count)
+    end
+
+    it 'views the tags list page' do
+      expect(page).to have_content 'v1.0.0'
+    end
+
+    it 'views a specific tag page' do
+      click_on 'v1.0.0'
+
+      expect(current_path).to eq(
+        project_tag_path(project, 'v1.0.0'))
+      expect(page).to have_content 'v1.0.0'
+      expect(page).to have_content 'This tag has no release notes.'
+    end
+
+    describe 'links on the tag page' do
+      it 'has a button to browse files' do
+        click_on 'v1.0.0'
+
+        expect(current_path).to eq(
+          project_tag_path(project, 'v1.0.0'))
+
+        click_on 'Browse files'
+
+        expect(current_path).to eq(
+          project_tree_path(project, 'v1.0.0'))
+      end
+
+      it 'has a button to browse commits' do
+        click_on 'v1.0.0'
+
+        expect(current_path).to eq(
+          project_tag_path(project, 'v1.0.0'))
+
+        click_on 'Browse commits'
+
+        expect(current_path).to eq(
+          project_commits_path(project, 'v1.0.0'))
+      end
+    end
+  end
+end
diff --git a/spec/features/tags/master_creates_tag_spec.rb b/spec/features/tags/master_creates_tag_spec.rb
deleted file mode 100644
index f80ddd050d7..00000000000
--- a/spec/features/tags/master_creates_tag_spec.rb
+++ /dev/null
@@ -1,94 +0,0 @@
-require 'spec_helper'
-
-describe 'Maintainer creates tag' do
-  let(:user) { create(:user) }
-  let(:project) { create(:project, :repository, namespace: user.namespace) }
-
-  before do
-    project.add_maintainer(user)
-    sign_in(user)
-  end
-
-  context 'from tag list' do
-    before do
-      visit project_tags_path(project)
-    end
-
-    it 'with an invalid name displays an error' do
-      create_tag_in_form(tag: 'v 1.0', ref: 'master')
-
-      expect(page).to have_content 'Tag name invalid'
-    end
-
-    it 'with an invalid reference displays an error' do
-      create_tag_in_form(tag: 'v2.0', ref: 'foo')
-
-      expect(page).to have_content 'Target foo is invalid'
-    end
-
-    it 'that already exists displays an error' do
-      create_tag_in_form(tag: 'v1.1.0', ref: 'master')
-
-      expect(page).to have_content 'Tag v1.1.0 already exists'
-    end
-
-    it 'with multiline message displays the message in a 
 block' do
-      create_tag_in_form(tag: 'v3.0', ref: 'master', message: "Awesome tag message\n\n- hello\n- world")
-
-      expect(current_path).to eq(
-        project_tag_path(project, 'v3.0'))
-      expect(page).to have_content 'v3.0'
-      page.within 'pre.wrap' do
-        expect(page).to have_content "Awesome tag message - hello - world"
-      end
-    end
-
-    it 'with multiline release notes parses the release note as Markdown' do
-      create_tag_in_form(tag: 'v4.0', ref: 'master', desc: "Awesome release notes\n\n- hello\n- world")
-
-      expect(current_path).to eq(
-        project_tag_path(project, 'v4.0'))
-      expect(page).to have_content 'v4.0'
-      page.within '.description' do
-        expect(page).to have_content 'Awesome release notes'
-        expect(page).to have_selector('ul li', count: 2)
-      end
-    end
-
-    it 'opens dropdown for ref', :js do
-      click_link 'New tag'
-      ref_row = find('.form-group:nth-of-type(2) .col-sm-10')
-      page.within ref_row do
-        ref_input = find('[name="ref"]', visible: false)
-        expect(ref_input.value).to eq 'master'
-        expect(find('.dropdown-toggle-text')).to have_content 'master'
-
-        find('.js-branch-select').click
-
-        expect(find('.dropdown-menu')).to have_content 'empty-branch'
-      end
-    end
-  end
-
-  context 'from new tag page' do
-    before do
-      visit new_project_tag_path(project)
-    end
-
-    it 'description has emoji autocomplete', :js do
-      find('#release_description').native.send_keys('')
-      fill_in 'release_description', with: ':'
-
-      expect(page).to have_selector('.atwho-view')
-    end
-  end
-
-  def create_tag_in_form(tag:, ref:, message: nil, desc: nil)
-    click_link 'New tag'
-    fill_in 'tag_name', with: tag
-    find('#ref', visible: false).set(ref)
-    fill_in 'message', with: message unless message.nil?
-    fill_in 'release_description', with: desc unless desc.nil?
-    click_button 'Create tag'
-  end
-end
diff --git a/spec/features/tags/master_deletes_tag_spec.rb b/spec/features/tags/master_deletes_tag_spec.rb
deleted file mode 100644
index bdbbe645779..00000000000
--- a/spec/features/tags/master_deletes_tag_spec.rb
+++ /dev/null
@@ -1,55 +0,0 @@
-require 'spec_helper'
-
-describe 'Maintainer deletes tag' do
-  let(:user) { create(:user) }
-  let(:project) { create(:project, :repository, namespace: user.namespace) }
-
-  before do
-    project.add_maintainer(user)
-    sign_in(user)
-    visit project_tags_path(project)
-  end
-
-  context 'from the tags list page', :js do
-    it 'deletes the tag' do
-      expect(page).to have_content 'v1.1.0'
-
-      delete_first_tag
-
-      expect(page).not_to have_content 'v1.1.0'
-    end
-  end
-
-  context 'from a specific tag page' do
-    it 'deletes the tag' do
-      click_on 'v1.0.0'
-      expect(current_path).to eq(
-        project_tag_path(project, 'v1.0.0'))
-
-      click_on 'Delete tag'
-
-      expect(current_path).to eq(
-        project_tags_path(project))
-      expect(page).not_to have_content 'v1.0.0'
-    end
-  end
-
-  context 'when pre-receive hook fails', :js do
-    before do
-      allow_any_instance_of(Gitlab::GitalyClient::OperationService).to receive(:rm_tag)
-        .and_raise(Gitlab::Git::PreReceiveError, 'GitLab: Do not delete tags')
-    end
-
-    it 'shows the error message' do
-      delete_first_tag
-
-      expect(page).to have_content('Do not delete tags')
-    end
-  end
-
-  def delete_first_tag
-    page.within('.content') do
-      accept_confirm { first('.btn-remove').click }
-    end
-  end
-end
diff --git a/spec/features/tags/master_updates_tag_spec.rb b/spec/features/tags/master_updates_tag_spec.rb
deleted file mode 100644
index d8b5b3c4cc4..00000000000
--- a/spec/features/tags/master_updates_tag_spec.rb
+++ /dev/null
@@ -1,53 +0,0 @@
-require 'spec_helper'
-
-describe 'Maintainer updates tag' do
-  let(:user) { create(:user) }
-  let(:project) { create(:project, :repository, namespace: user.namespace) }
-
-  before do
-    project.add_maintainer(user)
-    sign_in(user)
-    visit project_tags_path(project)
-  end
-
-  context 'from the tags list page' do
-    it 'updates the release notes' do
-      page.within(first('.content-list .controls')) do
-        click_link 'Edit release notes'
-      end
-
-      fill_in 'release_description', with: 'Awesome release notes'
-      click_button 'Save changes'
-
-      expect(current_path).to eq(
-        project_tag_path(project, 'v1.1.0'))
-      expect(page).to have_content 'v1.1.0'
-      expect(page).to have_content 'Awesome release notes'
-    end
-
-    it 'description has emoji autocomplete', :js do
-      page.within(first('.content-list .controls')) do
-        click_link 'Edit release notes'
-      end
-
-      find('#release_description').native.send_keys('')
-      fill_in 'release_description', with: ':'
-
-      expect(page).to have_selector('.atwho-view')
-    end
-  end
-
-  context 'from a specific tag page' do
-    it 'updates the release notes' do
-      click_on 'v1.1.0'
-      click_link 'Edit release notes'
-      fill_in 'release_description', with: 'Awesome release notes'
-      click_button 'Save changes'
-
-      expect(current_path).to eq(
-        project_tag_path(project, 'v1.1.0'))
-      expect(page).to have_content 'v1.1.0'
-      expect(page).to have_content 'Awesome release notes'
-    end
-  end
-end
diff --git a/spec/features/tags/master_views_tags_spec.rb b/spec/features/tags/master_views_tags_spec.rb
deleted file mode 100644
index 36cfeb5ed84..00000000000
--- a/spec/features/tags/master_views_tags_spec.rb
+++ /dev/null
@@ -1,82 +0,0 @@
-require 'spec_helper'
-
-describe 'Maintainer views tags' do
-  let(:user) { create(:user) }
-
-  before do
-    project.add_maintainer(user)
-    sign_in(user)
-  end
-
-  context 'when project has no tags' do
-    let(:project) { create(:project_empty_repo) }
-
-    before do
-      visit project_path(project)
-      click_on 'Add README'
-      fill_in :commit_message, with: 'Add a README file', visible: true
-      click_button 'Commit changes'
-      visit project_tags_path(project)
-    end
-
-    it 'displays a specific message' do
-      expect(page).to have_content 'Repository has no tags yet.'
-    end
-  end
-
-  context 'when project has tags' do
-    let(:project) { create(:project, :repository, namespace: user.namespace) }
-    let(:repository) { project.repository }
-
-    before do
-      visit project_tags_path(project)
-    end
-
-    it 'avoids a N+1 query in branches index' do
-      control_count = ActiveRecord::QueryRecorder.new { visit project_tags_path(project) }.count
-
-      %w(one two three four five).each { |tag| repository.add_tag(user, tag, 'master', 'foo') }
-
-      expect { visit project_tags_path(project) }.not_to exceed_query_limit(control_count)
-    end
-
-    it 'views the tags list page' do
-      expect(page).to have_content 'v1.0.0'
-    end
-
-    it 'views a specific tag page' do
-      click_on 'v1.0.0'
-
-      expect(current_path).to eq(
-        project_tag_path(project, 'v1.0.0'))
-      expect(page).to have_content 'v1.0.0'
-      expect(page).to have_content 'This tag has no release notes.'
-    end
-
-    describe 'links on the tag page' do
-      it 'has a button to browse files' do
-        click_on 'v1.0.0'
-
-        expect(current_path).to eq(
-          project_tag_path(project, 'v1.0.0'))
-
-        click_on 'Browse files'
-
-        expect(current_path).to eq(
-          project_tree_path(project, 'v1.0.0'))
-      end
-
-      it 'has a button to browse commits' do
-        click_on 'v1.0.0'
-
-        expect(current_path).to eq(
-          project_tag_path(project, 'v1.0.0'))
-
-        click_on 'Browse commits'
-
-        expect(current_path).to eq(
-          project_commits_path(project, 'v1.0.0'))
-      end
-    end
-  end
-end
diff --git a/spec/lib/gitlab/checks/tag_check_spec.rb b/spec/lib/gitlab/checks/tag_check_spec.rb
index b1258270611..80e9eb504ad 100644
--- a/spec/lib/gitlab/checks/tag_check_spec.rb
+++ b/spec/lib/gitlab/checks/tag_check_spec.rb
@@ -8,9 +8,8 @@ describe Gitlab::Checks::TagCheck do
   describe '#validate!' do
     let(:ref) { 'refs/tags/v1.0.0' }
 
-    it 'raises an error' do
-      allow(user_access).to receive(:can_do_action?).with(:push_code).and_return(true)
-      expect(user_access).to receive(:can_do_action?).with(:admin_project).and_return(false)
+    it 'raises an error when user does not have access' do
+      allow(user_access).to receive(:can_do_action?).with(:admin_tag).and_return(false)
 
       expect { subject.validate! }.to raise_error(Gitlab::GitAccess::UnauthorizedError, 'You are not allowed to change existing tags on this project.')
     end
diff --git a/spec/lib/gitlab/git_access_spec.rb b/spec/lib/gitlab/git_access_spec.rb
index 634c370d211..b9c21b3a7bd 100644
--- a/spec/lib/gitlab/git_access_spec.rb
+++ b/spec/lib/gitlab/git_access_spec.rb
@@ -831,7 +831,7 @@ describe Gitlab::GitAccess do
         push_master: true,
         push_protected_branch: false,
         push_remove_protected_branch: false,
-        push_tag: false,
+        push_tag: true,
         push_new_tag: true,
         push_all: false,
         merge_into_protected_branch: false
diff --git a/spec/policies/project_policy_spec.rb b/spec/policies/project_policy_spec.rb
index 4b723a52b51..fd82150c12a 100644
--- a/spec/policies/project_policy_spec.rb
+++ b/spec/policies/project_policy_spec.rb
@@ -36,7 +36,7 @@ describe ProjectPolicy do
 
   let(:developer_permissions) do
     %i[
-      admin_milestone admin_merge_request update_merge_request create_commit_status
+      admin_tag admin_milestone admin_merge_request update_merge_request create_commit_status
       update_commit_status create_build update_build create_pipeline
       update_pipeline create_merge_request_from create_wiki push_code
       resolve_note create_container_image update_container_image destroy_container_image
diff --git a/spec/requests/api/tags_spec.rb b/spec/requests/api/tags_spec.rb
index d898319e709..c4f4a2cb889 100644
--- a/spec/requests/api/tags_spec.rb
+++ b/spec/requests/api/tags_spec.rb
@@ -10,7 +10,7 @@ describe API::Tags do
   let(:current_user) { nil }
 
   before do
-    project.add_maintainer(user)
+    project.add_developer(user)
   end
 
   describe 'GET /projects/:id/repository/tags' do
diff --git a/spec/support/shared_examples/policies/project_policy_shared_examples.rb b/spec/support/shared_examples/policies/project_policy_shared_examples.rb
index 7a71e2ee370..13b7ade658b 100644
--- a/spec/support/shared_examples/policies/project_policy_shared_examples.rb
+++ b/spec/support/shared_examples/policies/project_policy_shared_examples.rb
@@ -17,6 +17,7 @@ RSpec.shared_examples 'archived project policies' do
       upload_file
       resolve_note
       award_emoji
+      admin_tag
     ]
   end
 
-- 
cgit v1.2.1


From 31cef128e8535c9f9701755024b18f04194f472c Mon Sep 17 00:00:00 2001
From: Heinrich Lee Yu 
Date: Wed, 19 Jun 2019 17:27:44 +0800
Subject: Set a fixed date in pipeline shedule spec

Fixes flaky master
---
 spec/models/ci/pipeline_schedule_spec.rb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'spec')

diff --git a/spec/models/ci/pipeline_schedule_spec.rb b/spec/models/ci/pipeline_schedule_spec.rb
index c4d8ad5317a..d7b81caddf5 100644
--- a/spec/models/ci/pipeline_schedule_spec.rb
+++ b/spec/models/ci/pipeline_schedule_spec.rb
@@ -129,7 +129,7 @@ describe Ci::PipelineSchedule do
       let(:pipeline_schedule) { create(:ci_pipeline_schedule, :every_minute) }
 
       it "updates next_run_at to the sidekiq worker's execution time" do
-        Timecop.freeze do
+        Timecop.freeze(2019, 06, 19, 12, 00) do
           expect(pipeline_schedule.next_run_at).to eq(cron_worker_next_run_at)
         end
       end
-- 
cgit v1.2.1


From d3a1468b625c939d20862379a17fbc7d57c3e8aa Mon Sep 17 00:00:00 2001
From: Filipa Lacerda 
Date: Tue, 18 Jun 2019 16:14:57 +0100
Subject: Adds missing class

Will apply identation from
CSS to collapsible sections
---
 spec/lib/gitlab/ci/ansi2html_spec.rb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'spec')

diff --git a/spec/lib/gitlab/ci/ansi2html_spec.rb b/spec/lib/gitlab/ci/ansi2html_spec.rb
index ac4612dda92..3d57ce431ab 100644
--- a/spec/lib/gitlab/ci/ansi2html_spec.rb
+++ b/spec/lib/gitlab/ci/ansi2html_spec.rb
@@ -231,8 +231,8 @@ describe Gitlab::Ci::Ansi2html do
 
       it 'prints light red' do
         text = "#{section_start}\e[91mHello\e[0m\n#{section_end}"
-        header = %{Hello}
-        line_break = %{
} + header = %{Hello} + line_break = %{
} line = %{} empty_line = %{} html = "#{section_start_html}#{header}#{line_break}#{line}#{empty_line}#{section_end_html}" -- cgit v1.2.1 From d3db5d1b67250055a08254d1895190a7817a7e3e Mon Sep 17 00:00:00 2001 From: Chris Baumbauer Date: Wed, 19 Jun 2019 13:12:53 +0000 Subject: Knative version bump 0.5 -> 0.6 --- spec/models/clusters/applications/knative_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'spec') diff --git a/spec/models/clusters/applications/knative_spec.rb b/spec/models/clusters/applications/knative_spec.rb index b38cf96de7e..7f4819cbb9a 100644 --- a/spec/models/clusters/applications/knative_spec.rb +++ b/spec/models/clusters/applications/knative_spec.rb @@ -112,7 +112,7 @@ describe Clusters::Applications::Knative do subject { knative.install_command } it 'is initialized with latest version' do - expect(subject.version).to eq('0.5.0') + expect(subject.version).to eq('0.6.0') end it_behaves_like 'a command' -- cgit v1.2.1