Commit 67fde388 authored by Z.J. van de Weg's avatar Z.J. van de Weg

Improve the mattermost help box

Also added tests, and moved the slack test to a better location.
parent e74e53ae
...@@ -19,13 +19,6 @@ class MattermostSlashCommandsService < ChatService ...@@ -19,13 +19,6 @@ class MattermostSlashCommandsService < ChatService
'mattermost_slash_commands' 'mattermost_slash_commands'
end end
def help
"This service allows you to use slash commands with your Mattermost installation.<br/>
To setup this Service you need to create a new <b>Slash commands</b> in your Mattermost integration panel.<br/>
<br/>
Create integration with URL #{service_trigger_url(self)} and enter the token below."
end
def fields def fields
[ [
{ type: 'text', name: 'token', placeholder: '' } { type: 'text', name: 'token', placeholder: '' }
......
- pretty_path_with_namespace = "#{@project ? @project.namespace.name : 'namespace'} / #{@project ? @project.name : 'name'}" - pretty_path_with_namespace = "#{@project ? @project.namespace.name : 'namespace'} / #{@project ? @project.name : 'name'}"
- run_actions_text = "Run action on the GitLab project: #{pretty_path_with_namespace}" - run_actions_text = "Perform common operations on this project: #{pretty_path_with_namespace}"
.well .well
%p %p
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
%li %li
1. 1.
= link_to 'Enable custom slash commands', 'https://docs.mattermost.com/developer/slash-commands.html#enabling-custom-commands' = link_to 'Enable custom slash commands', 'https://docs.mattermost.com/developer/slash-commands.html#enabling-custom-commands'
on your Mattermost installation. on your Mattermost installation
%li %li
2. 2.
= link_to 'Add a slash command', 'https://docs.mattermost.com/developer/slash-commands.html#set-up-a-custom-command' = link_to 'Add a slash command', 'https://docs.mattermost.com/developer/slash-commands.html#set-up-a-custom-command'
...@@ -44,9 +44,9 @@ ...@@ -44,9 +44,9 @@
%p Fill in the word that works best for your team. %p Fill in the word that works best for your team.
%p %p
Suggestions: Suggestions:
%code= @project ? @project.name : 'project_name' %code= 'gitlab'
%code= @project ? @project.namespace.name : 'namespace_name' %code= @project.path # Path contains no spaces, but dashes
%code= @project ? @project.name_with_namespace : 'namespace_name/project_name' %code= @project.path_with_namespace
.form-group .form-group
= label_tag :request_url, 'Request URL', class: 'col-sm-2 col-xs-12 control-label' = label_tag :request_url, 'Request URL', class: 'col-sm-2 col-xs-12 control-label'
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
.form-group .form-group
= label_tag :response_icon, 'Response icon', class: 'col-sm-2 col-xs-12 control-label' = label_tag :response_icon, 'Response icon', class: 'col-sm-2 col-xs-12 control-label'
.col-sm-10.col-xs-12.input-group .col-sm-10.col-xs-12.input-group
= text_field_tag :response_icon, asset_path('gitlab_logo.png'), class: 'form-control input-sm', readonly: 'readonly' = text_field_tag :response_icon, asset_url('gitlab_logo.png'), class: 'form-control input-sm', readonly: 'readonly'
.input-group-btn .input-group-btn
= clipboard_button(clipboard_target: '#response_icon') = clipboard_button(clipboard_target: '#response_icon')
......
---
title: Add help message for configuring Mattermost slash commands
merge_request: 7558
author:
require 'spec_helper'
feature 'Setup Mattermost slash commands', feature: true do
include WaitForAjax
let(:user) { create(:user) }
let(:project) { create(:project) }
let(:service) { project.create_mattermost_slash_commands_service }
before do
project.team << [user, :master]
login_as(user)
end
describe 'user visites the mattermost slash command config page', js: true do
it 'shows a help message' do
visit edit_namespace_project_service_path(project.namespace, project, service)
wait_for_ajax
expect(page).to have_content("This service allows GitLab users to perform common")
end
end
describe 'saving a token' do
let(:token) { ('a'..'z').to_a.join }
it 'shows the token after saving' do
visit edit_namespace_project_service_path(project.namespace, project, service)
fill_in 'service_token', with: token
click_on 'Save'
value = find_field('service_token').value
expect(value).to eq(token)
end
end
describe 'the trigger url' do
it 'shows the correct url' do
visit edit_namespace_project_service_path(project.namespace, project, service)
value = find_field('request_url').value
expect(value).to match("api/v3/projects/#{project.id}/services/mattermost_slash_commands/trigger")
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment