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 | 43 |
1 files changed, 43 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..661fb761809 --- /dev/null +++ b/spec/features/admin/admin_uses_repository_checks_spec.rb @@ -0,0 +1,43 @@ +require 'rails_helper' + +feature 'Admin uses repository checks', feature: true do + before { login_as :admin } + + 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 + project = create(:empty_project) + project.update_columns( + last_repository_check_failed: true, + last_repository_check_at: Time.now, + ) + visit_admin_project_page(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 + visit admin_application_settings_path + + expect(RepositoryCheck::ClearWorker).to receive(:perform_async) + + click_link 'Clear all repository checks' + + expect(page).to have_content('Started asynchronous removal of all repository check states.') + end + + def visit_admin_project_page(project) + visit admin_namespace_project_path(project.namespace, project) + end +end |