summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke "Jared" Bennett <lbennett@gitlab.com>2016-12-19 16:54:14 +0000
committerLuke "Jared" Bennett <lbennett@gitlab.com>2016-12-19 16:54:36 +0000
commitb67ad2db8717a0f9b673f828f9bea5732e7d258a (patch)
tree24a486d1e51abd719663f7bee5177667801e22b8
parent9d7744594f7fd62ccfdb003f069596437465f7f2 (diff)
downloadgitlab-ce-b67ad2db8717a0f9b673f828f9bea5732e7d258a.tar.gz
Added integration tests
-rw-r--r--spec/features/projects/services/mattermost_slash_command_spec.rb67
1 files changed, 53 insertions, 14 deletions
diff --git a/spec/features/projects/services/mattermost_slash_command_spec.rb b/spec/features/projects/services/mattermost_slash_command_spec.rb
index f474e7e891b..4c08d1e6e65 100644
--- a/spec/features/projects/services/mattermost_slash_command_spec.rb
+++ b/spec/features/projects/services/mattermost_slash_command_spec.rb
@@ -10,23 +10,18 @@ feature 'Setup Mattermost slash commands', feature: true do
before do
project.team << [user, :master]
login_as(user)
+ visit edit_namespace_project_service_path(project.namespace, project, service)
end
- describe 'user visites the mattermost slash command config page', js: true do
+ describe 'user visits 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)
+ token = ('a'..'z').to_a.join
fill_in 'service_token', with: token
click_on 'Save'
@@ -35,14 +30,58 @@ feature 'Setup Mattermost slash commands', feature: true do
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)
+ describe 'mattermost service is enabled' do
+ let(:info) { find('.services-installation-info') }
+
+ before do
+ Gitlab.config.mattermost.enabled = true
+ end
+
+ it 'shows the correct mattermost url' do
+ expect(page).to have_content Gitlab.config.mattermost.host
+ end
+
+ describe 'mattermost service is active' do
+ before do
+ service.active = true
+ end
+
+ it 'shows that mattermost is active' do
+ expect(info).to have_content 'Installed'
+ expect(info).not_to have_content 'Not installed'
+ end
+
+ it 'shows the edit mattermost button' do
+ expect(info).to have_button 'Edit Mattermost'
+ end
+ end
+
+ describe 'mattermost service is not active' do
+ before do
+ service.active = false
+ end
+
+ it 'shows that mattermost is not active' do
+ expect(info).to have_content 'Not installed'
+ end
+
+ it 'shows the add to mattermost button' do
+ expect(info).to have_button 'Add to Mattermost'
+ end
+ end
+ end
+
+ describe 'mattermost service is not enabled' do
+ before do
+ Gitlab.config.mattermost.enabled = false
+ end
+
+ it 'shows the correct trigger url' do
+ value = find_field('request_url').value
- value = find_field('request_url').value
- expect(value).to match("api/v3/projects/#{project.id}/services/mattermost_slash_commands/trigger")
+ expect(value).to match("api/v3/projects/#{project.id}/services/mattermost_slash_commands/trigger")
+ end
end
end
end