debian-mirror-gitlab/spec/features/projects/services/user_activates_alerts_spec.rb
2020-03-13 15:44:24 +05:30

81 lines
1.5 KiB
Ruby

# frozen_string_literal: true
require 'spec_helper'
describe 'User activates Alerts', :js do
let_it_be(:project) { create(:project) }
let_it_be(:user) { create(:user) }
let(:service_name) { 'alerts' }
let(:service_title) { 'Alerts endpoint' }
before do
sign_in(user)
project.add_maintainer(user)
end
context 'when service is deactivated' do
it 'activates service' do
visit_project_services
expect(page).to have_link(service_title)
click_link(service_title)
expect(page).not_to have_active_service
click_activate_service
wait_for_requests
expect(page).to have_active_service
end
end
context 'when service is activated' do
before do
visit_alerts_service
click_activate_service
end
it 're-generates key' do
expect(reset_key.value).to be_blank
click_reset_key
click_confirm_reset_key
wait_for_requests
expect(reset_key.value).to be_present
end
end
private
def visit_project_services
visit(project_settings_integrations_path(project))
end
def visit_alerts_service
visit(edit_project_service_path(project, service_name))
end
def click_activate_service
find('#activated').click
end
def click_reset_key
click_button('Reset key')
end
def click_confirm_reset_key
within '.modal-content' do
click_reset_key
end
end
def reset_key
find_field('Authorization key')
end
def have_active_service
have_selector('.js-service-active-status[data-value="true"]')
end
end