Commit b67ad2db authored by Luke "Jared" Bennett's avatar Luke "Jared" Bennett

Added integration tests

parent 9d774459
...@@ -10,23 +10,18 @@ feature 'Setup Mattermost slash commands', feature: true do ...@@ -10,23 +10,18 @@ feature 'Setup Mattermost slash commands', feature: true do
before do before do
project.team << [user, :master] project.team << [user, :master]
login_as(user) login_as(user)
visit edit_namespace_project_service_path(project.namespace, project, service)
end 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 it 'shows a help message' do
visit edit_namespace_project_service_path(project.namespace, project, service)
wait_for_ajax wait_for_ajax
expect(page).to have_content("This service allows GitLab users to perform common") expect(page).to have_content("This service allows GitLab users to perform common")
end end
end
describe 'saving a token' do
let(:token) { ('a'..'z').to_a.join }
it 'shows the token after saving' do 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 fill_in 'service_token', with: token
click_on 'Save' click_on 'Save'
...@@ -35,14 +30,58 @@ feature 'Setup Mattermost slash commands', feature: true do ...@@ -35,14 +30,58 @@ feature 'Setup Mattermost slash commands', feature: true do
expect(value).to eq(token) expect(value).to eq(token)
end end
describe 'mattermost service is enabled' do
let(:info) { find('.services-installation-info') }
before do
Gitlab.config.mattermost.enabled = true
end end
describe 'the trigger url' do it 'shows the correct mattermost url' do
it 'shows the correct url' do expect(page).to have_content Gitlab.config.mattermost.host
visit edit_namespace_project_service_path(project.namespace, project, service) 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
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