summaryrefslogtreecommitdiff
path: root/spec/features/admin/admin_uses_repository_checks_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/features/admin/admin_uses_repository_checks_spec.rb')
-rw-r--r--spec/features/admin/admin_uses_repository_checks_spec.rb48
1 files changed, 48 insertions, 0 deletions
diff --git a/spec/features/admin/admin_uses_repository_checks_spec.rb b/spec/features/admin/admin_uses_repository_checks_spec.rb
new file mode 100644
index 00000000000..69b82441916
--- /dev/null
+++ b/spec/features/admin/admin_uses_repository_checks_spec.rb
@@ -0,0 +1,48 @@
+require 'rails_helper'
+
+feature 'Admin uses repository checks', feature: true do
+ before do
+ login_as :admin
+ end
+
+ scenario 'to trigger a single check' do
+ project = create(:empty_project)
+ visit_admin_project_page(project)
+
+ page.within('.repository-check') do
+ click_button 'Trigger repository check'
+ end
+
+ expect(page).to have_content('Repository check was triggered')
+ end
+
+ scenario 'to see a single failed repository check' do
+ visit_admin_project_page(broken_project)
+
+ page.within('.alert') do
+ expect(page.text).to match(/Last repository check \(.* ago\) failed/)
+ end
+ end
+
+ scenario 'to clear all repository checks', js: true do
+ project = broken_project
+ visit admin_application_settings_path
+
+ click_link 'Clear all repository checks' # pop-up should be auto confirmed
+
+ expect(project.reload.last_repository_check_failed).to eq(false)
+ end
+
+ def visit_admin_project_page(project)
+ visit admin_namespace_project_path(project.namespace, project)
+ end
+
+ def broken_project
+ project = create(:empty_project)
+ project.update_columns(
+ last_repository_check_failed: true,
+ last_repository_check_at: Time.now,
+ )
+ project
+ end
+end