diff options
Diffstat (limited to 'spec/features/projects/integrations/user_activates_slack_slash_command_spec.rb')
-rw-r--r-- | spec/features/projects/integrations/user_activates_slack_slash_command_spec.rb | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/spec/features/projects/integrations/user_activates_slack_slash_command_spec.rb b/spec/features/projects/integrations/user_activates_slack_slash_command_spec.rb new file mode 100644 index 00000000000..7ec469070ea --- /dev/null +++ b/spec/features/projects/integrations/user_activates_slack_slash_command_spec.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe 'Slack slash commands', :js do + include_context 'project integration activation' + + before do + visit_project_integration('Slack slash commands') + end + + it 'shows a token placeholder' do + token_placeholder = find_field('Token')['placeholder'] + + expect(token_placeholder).to eq('XXxxXXxxXXxxXXxxXXxxXXxx') + end + + it 'shows a help message' do + expect(page).to have_content('Perform common operations in this project') + end + + it 'redirects to the integrations page after saving but not activating' do + fill_in 'Token', with: 'token' + click_active_checkbox + click_on 'Save' + + expect(current_path).to eq(edit_project_integration_path(project, :slack_slash_commands)) + expect(page).to have_content('Slack slash commands settings saved, but not active.') + end + + it 'redirects to the integrations page after activating' do + fill_in 'Token', with: 'token' + click_on 'Save' + + expect(current_path).to eq(edit_project_integration_path(project, :slack_slash_commands)) + expect(page).to have_content('Slack slash commands settings saved and active.') + end + + it 'shows the correct trigger url' do + value = find_field('url').value + expect(value).to match("api/v4/projects/#{project.id}/services/slack_slash_commands/trigger") + end + + it 'shows help content' do + expect(page).to have_content('Perform common operations in this project by entering slash commands in Slack.') + end +end |