diff options
Diffstat (limited to 'spec/features/admin/admin_uses_repository_checks_spec.rb')
-rw-r--r-- | spec/features/admin/admin_uses_repository_checks_spec.rb | 48 |
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 |