summaryrefslogtreecommitdiff
path: root/features
diff options
context:
space:
mode:
authorJose Ivan Vargas <jvargas@gitlab.com>2017-09-26 12:14:42 -0500
committerJose Ivan Vargas <jvargas@gitlab.com>2017-09-26 12:14:42 -0500
commitb4af546820b00537c6a5053f6b21dc9805dc11c7 (patch)
tree505745bec506be527c7a0e940b754b0960c77167 /features
parent7fb477325eb7f1215a6ae128c9a3a300606d7fbe (diff)
parent3b2d68d37d39047e25fbe0ae51cafa39f22805f8 (diff)
downloadgitlab-ce-b4af546820b00537c6a5053f6b21dc9805dc11c7.tar.gz
Merge branch 'master' into sh-headless-chrome-support
Diffstat (limited to 'features')
-rw-r--r--features/project/issues/issues.feature18
-rw-r--r--features/project/merge_requests.feature16
-rw-r--r--features/project/service.feature87
-rw-r--r--features/project/shortcuts.feature63
-rw-r--r--features/steps/project/commits/commits.rb2
-rw-r--r--features/steps/project/issues/issues.rb2
-rw-r--r--features/steps/project/merge_requests.rb2
-rw-r--r--features/steps/project/project_shortcuts.rb42
-rw-r--r--features/steps/project/services.rb224
-rw-r--r--features/steps/shared/issuable.rb12
10 files changed, 24 insertions, 444 deletions
diff --git a/features/project/issues/issues.feature b/features/project/issues/issues.feature
index 4f905674d8c..d6cfa524a3a 100644
--- a/features/project/issues/issues.feature
+++ b/features/project/issues/issues.feature
@@ -51,36 +51,34 @@ Feature: Project Issues
@javascript
Scenario: Visiting Issues after being sorted the list
Given I visit project "Shop" issues page
- And I sort the list by "Oldest updated"
+ And I sort the list by "Last updated"
And I visit my project's home page
And I visit project "Shop" issues page
- Then The list should be sorted by "Oldest updated"
+ Then The list should be sorted by "Last updated"
@javascript
Scenario: Visiting Merge Requests after being sorted the list
Given project "Shop" has a "Bugfix MR" merge request open
And I visit project "Shop" issues page
- And I sort the list by "Oldest updated"
+ And I sort the list by "Last updated"
And I visit project "Shop" merge requests page
- Then The list should be sorted by "Oldest updated"
+ Then The list should be sorted by "Last updated"
@javascript
Scenario: Visiting Merge Requests from a differente Project after sorting
Given project "Shop" has a "Bugfix MR" merge request open
And I visit project "Shop" merge requests page
- And I sort the list by "Oldest updated"
+ And I sort the list by "Last updated"
And I visit dashboard merge requests page
- Then The list should be sorted by "Oldest updated"
+ Then The list should be sorted by "Last updated"
@javascript
Scenario: Sort issues by upvotes/downvotes
Given project "Shop" have "Bugfix" open issue
And issue "Release 0.4" have 2 upvotes and 1 downvote
And issue "Tweet control" have 1 upvote and 2 downvotes
- And I sort the list by "Most popular"
- Then The list should be sorted by "Most popular"
- And I sort the list by "Least popular"
- Then The list should be sorted by "Least popular"
+ And I sort the list by "Popularity"
+ Then The list should be sorted by "Popularity"
# Markdown
diff --git a/features/project/merge_requests.feature b/features/project/merge_requests.feature
index 0ebeded7fc5..349fa2663a7 100644
--- a/features/project/merge_requests.feature
+++ b/features/project/merge_requests.feature
@@ -91,28 +91,26 @@ Feature: Project Merge Requests
@javascript
Scenario: Visiting Merge Requests after being sorted the list
Given I visit project "Shop" merge requests page
- And I sort the list by "Oldest updated"
+ And I sort the list by "Last updated"
And I visit my project's home page
And I visit project "Shop" merge requests page
- Then The list should be sorted by "Oldest updated"
+ Then The list should be sorted by "Last updated"
@javascript
Scenario: Visiting Merge Requests from a different Project after sorting
Given I visit project "Shop" merge requests page
- And I sort the list by "Oldest updated"
+ And I sort the list by "Last updated"
And I visit dashboard merge requests page
- Then The list should be sorted by "Oldest updated"
+ Then The list should be sorted by "Last updated"
@javascript
- Scenario: Sort merge requests by upvotes/downvotes
+ Scenario: Sort merge requests by upvotes
Given project "Shop" have "Bug NS-05" open merge request with diffs inside
And project "Shop" have "Bug NS-06" open merge request
And merge request "Bug NS-04" have 2 upvotes and 1 downvote
And merge request "Bug NS-06" have 1 upvote and 2 downvotes
- And I sort the list by "Most popular"
- Then The list should be sorted by "Most popular"
- And I sort the list by "Least popular"
- Then The list should be sorted by "Least popular"
+ And I sort the list by "Popularity"
+ Then The list should be sorted by "Popularity"
@javascript
Scenario: I comment on a merge request diff
diff --git a/features/project/service.feature b/features/project/service.feature
deleted file mode 100644
index 54f07ebca92..00000000000
--- a/features/project/service.feature
+++ /dev/null
@@ -1,87 +0,0 @@
-Feature: Project Services
- Background:
- Given I sign in as a user
- And I own project "Shop"
-
- Scenario: I should see project services
- When I visit project "Shop" services page
- Then I should see list of available services
-
- Scenario: Activate hipchat service
- When I visit project "Shop" services page
- And I click hipchat service link
- And I fill hipchat settings
- Then I should see the Hipchat success message
-
- Scenario: Activate hipchat service with custom server
- When I visit project "Shop" services page
- And I click hipchat service link
- And I fill hipchat settings with custom server
- Then I should see the Hipchat success message
-
- Scenario: Activate pivotaltracker service
- When I visit project "Shop" services page
- And I click pivotaltracker service link
- And I fill pivotaltracker settings
- Then I should see the Pivotaltracker success message
-
- Scenario: Activate Flowdock service
- When I visit project "Shop" services page
- And I click Flowdock service link
- And I fill Flowdock settings
- Then I should see the Flowdock success message
-
- Scenario: Activate Assembla service
- When I visit project "Shop" services page
- And I click Assembla service link
- And I fill Assembla settings
- Then I should see the Assembla success message
-
- Scenario: Activate Slack notifications service
- When I visit project "Shop" services page
- And I click Slack notifications service link
- And I fill Slack notifications settings
- Then I should see the Slack notifications success message
-
- Scenario: Activate Pushover service
- When I visit project "Shop" services page
- And I click Pushover service link
- And I fill Pushover settings
- Then I should see the Pushover success message
-
- Scenario: Activate email on push service
- When I visit project "Shop" services page
- And I click email on push service link
- And I fill email on push settings
- Then I should see the Emails on push success message
-
- Scenario: Activate JIRA service
- When I visit project "Shop" services page
- And I click jira service link
- And I fill jira settings
- Then I should see the JIRA success message
-
- Scenario: Activate Irker (IRC Gateway) service
- When I visit project "Shop" services page
- And I click Irker service link
- And I fill Irker settings
- Then I should see the Irker success message
-
- Scenario: Activate Atlassian Bamboo CI service
- When I visit project "Shop" services page
- And I click Atlassian Bamboo CI service link
- And I fill Atlassian Bamboo CI settings
- Then I should see the Bamboo success message
- And I should see empty field Change Password
-
- Scenario: Activate jetBrains TeamCity CI service
- When I visit project "Shop" services page
- And I click jetBrains TeamCity CI service link
- And I fill jetBrains TeamCity CI settings
- Then I should see the JetBrains success message
-
- Scenario: Activate Asana service
- When I visit project "Shop" services page
- And I click Asana service link
- And I fill Asana settings
- Then I should see the Asana success message
diff --git a/features/project/shortcuts.feature b/features/project/shortcuts.feature
deleted file mode 100644
index cbbea237825..00000000000
--- a/features/project/shortcuts.feature
+++ /dev/null
@@ -1,63 +0,0 @@
-@dashboard
-Feature: Project Shortcuts
- Background:
- Given I sign in as a user
- And I own a project
- And I visit my project's commits page
-
- @javascript
- Scenario: Navigate to files tab
- Given I press "g" and "f"
- Then the active main tab should be Repository
- Then the active sub tab should be Files
-
- @javascript
- Scenario: Navigate to commits tab
- Given I visit my project's files page
- Given I press "g" and "c"
- Then the active main tab should be Repository
- Then the active sub tab should be Commits
-
- @javascript
- Scenario: Navigate to graph tab
- Given I press "g" and "n"
- Then the active sub tab should be Graph
- And the active main tab should be Repository
-
- @javascript
- Scenario: Navigate to repository charts tab
- Given I press "g" and "d"
- Then the active sub tab should be Charts
- And the active main tab should be Repository
-
- @javascript
- Scenario: Navigate to issues tab
- Given I press "g" and "i"
- Then the active main tab should be Issues
-
- @javascript
- Scenario: Navigate to merge requests tab
- Given I press "g" and "m"
- Then the active main tab should be Merge Requests
-
- @javascript
- Scenario: Navigate to snippets tab
- Given I press "g" and "s"
- Then the active main tab should be Snippets
-
- @javascript
- Scenario: Navigate to wiki tab
- Given I press "g" and "w"
- Then the active main tab should be Wiki
-
- @javascript
- Scenario: Navigate to project home
- Given I press "g" and "p"
- Then the active sub tab should be Home
- And the active main tab should be Project
-
- @javascript
- Scenario: Navigate to project feed
- Given I press "g" and "e"
- Then the active sub tab should be Activity
- And the active main tab should be Project
diff --git a/features/steps/project/commits/commits.rb b/features/steps/project/commits/commits.rb
index 305fff37c41..318e054e978 100644
--- a/features/steps/project/commits/commits.rb
+++ b/features/steps/project/commits/commits.rb
@@ -139,7 +139,7 @@ class Spinach::Features::ProjectCommits < Spinach::FeatureSteps
end
step 'The diff links to both the previous and current image' do
- links = page.all('.two-up span div a')
+ links = page.all('.file-actions a')
expect(links[0]['href']).to match %r{blob/#{sample_image_commit.old_blob_id}}
expect(links[1]['href']).to match %r{blob/#{sample_image_commit.new_blob_id}}
end
diff --git a/features/steps/project/issues/issues.rb b/features/steps/project/issues/issues.rb
index b9460f5b534..2c3ef2efd52 100644
--- a/features/steps/project/issues/issues.rb
+++ b/features/steps/project/issues/issues.rb
@@ -223,7 +223,7 @@ class Spinach::Features::ProjectIssues < Spinach::FeatureSteps
end
end
- step 'The list should be sorted by "Most popular"' do
+ step 'The list should be sorted by "Popularity"' do
page.within '.issues-list' do
page.within 'li.issue:nth-child(1)' do
expect(page).to have_content 'Release 0.4'
diff --git a/features/steps/project/merge_requests.rb b/features/steps/project/merge_requests.rb
index 17b1bcd02f3..3b4a8edf976 100644
--- a/features/steps/project/merge_requests.rb
+++ b/features/steps/project/merge_requests.rb
@@ -223,7 +223,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
end
end
- step 'The list should be sorted by "Most popular"' do
+ step 'The list should be sorted by "Popularity"' do
page.within '.mr-list' do
page.within 'li.merge-request:nth-child(1)' do
expect(page).to have_content 'Bug NS-04'
diff --git a/features/steps/project/project_shortcuts.rb b/features/steps/project/project_shortcuts.rb
deleted file mode 100644
index cebf09750b0..00000000000
--- a/features/steps/project/project_shortcuts.rb
+++ /dev/null
@@ -1,42 +0,0 @@
-class Spinach::Features::ProjectShortcuts < Spinach::FeatureSteps
- include SharedAuthentication
- include SharedPaths
- include SharedProject
- include SharedProjectTab
- include SharedShortcuts
-
- step 'I press "g" and "f"' do
- find('body').native.send_key('g')
- find('body').native.send_key('f')
- end
-
- step 'I press "g" and "c"' do
- find('body').native.send_key('g')
- find('body').native.send_key('c')
- end
-
- step 'I press "g" and "n"' do
- find('body').native.send_key('g')
- find('body').native.send_key('n')
- end
-
- step 'I press "g" and "d"' do
- find('body').native.send_key('g')
- find('body').native.send_key('d')
- end
-
- step 'I press "g" and "s"' do
- find('body').native.send_key('g')
- find('body').native.send_key('s')
- end
-
- step 'I press "g" and "w"' do
- find('body').native.send_key('g')
- find('body').native.send_key('w')
- end
-
- step 'I press "g" and "e"' do
- find('body').native.send_key('g')
- find('body').native.send_key('e')
- end
-end
diff --git a/features/steps/project/services.rb b/features/steps/project/services.rb
deleted file mode 100644
index 7e2a357f6b2..00000000000
--- a/features/steps/project/services.rb
+++ /dev/null
@@ -1,224 +0,0 @@
-class Spinach::Features::ProjectServices < Spinach::FeatureSteps
- include SharedAuthentication
- include SharedProject
- include SharedPaths
-
- step 'I visit project "Shop" services page' do
- visit project_settings_integrations_path(@project)
- end
-
- step 'I should see list of available services' do
- expect(page).to have_content 'Project services'
- expect(page).to have_content 'Campfire'
- expect(page).to have_content 'HipChat'
- expect(page).to have_content 'Assembla'
- expect(page).to have_content 'Pushover'
- expect(page).to have_content 'Atlassian Bamboo'
- expect(page).to have_content 'JetBrains TeamCity'
- expect(page).to have_content 'Asana'
- expect(page).to have_content 'Irker (IRC gateway)'
- end
-
- step 'I should see service settings saved' do
- expect(find_field('Active').value).to eq '1'
- end
-
- step 'I click hipchat service link' do
- click_link 'HipChat'
- end
-
- step 'I fill hipchat settings' do
- check 'Active'
- fill_in 'Room', with: 'gitlab'
- fill_in 'Token', with: 'verySecret'
- click_button 'Save'
- end
-
- step 'I should see the Hipchat success message' do
- expect(page).to have_content 'HipChat activated.'
- end
-
- step 'I fill hipchat settings with custom server' do
- check 'Active'
- fill_in 'Room', with: 'gitlab_custom'
- fill_in 'Token', with: 'secretCustom'
- fill_in 'Server', with: 'https://chat.example.com'
- click_button 'Save'
- end
-
- step 'I click pivotaltracker service link' do
- click_link 'PivotalTracker'
- end
-
- step 'I fill pivotaltracker settings' do
- check 'Active'
- fill_in 'Token', with: 'verySecret'
- click_button 'Save'
- end
-
- step 'I should see the Pivotaltracker success message' do
- expect(page).to have_content 'PivotalTracker activated.'
- end
-
- step 'I click Flowdock service link' do
- click_link 'Flowdock'
- end
-
- step 'I fill Flowdock settings' do
- check 'Active'
- fill_in 'Token', with: 'verySecret'
- click_button 'Save'
- end
-
- step 'I should see the Flowdock success message' do
- expect(page).to have_content 'Flowdock activated.'
- end
-
- step 'I click Assembla service link' do
- click_link 'Assembla'
- end
-
- step 'I fill Assembla settings' do
- check 'Active'
- fill_in 'Token', with: 'verySecret'
- click_button 'Save'
- end
-
- step 'I should see the Assembla success message' do
- expect(page).to have_content 'Assembla activated.'
- end
-
- step 'I click Asana service link' do
- click_link 'Asana'
- end
-
- step 'I fill Asana settings' do
- check 'Active'
- fill_in 'Api key', with: 'verySecret'
- fill_in 'Restrict to branch', with: 'master'
- click_button 'Save'
- end
-
- step 'I should see the Asana success message' do
- expect(page).to have_content 'Asana activated.'
- end
-
- step 'I click email on push service link' do
- click_link 'Emails on push'
- end
-
- step 'I fill email on push settings' do
- check 'Active'
- fill_in 'Recipients', with: 'qa@company.name'
- click_button 'Save'
- end
-
- step 'I should see the Emails on push success message' do
- expect(page).to have_content 'Emails on push activated.'
- end
-
- step 'I click Irker service link' do
- click_link 'Irker (IRC gateway)'
- end
-
- step 'I fill Irker settings' do
- check 'Active'
- fill_in 'Recipients', with: 'irc://chat.freenode.net/#commits'
- check 'Colorize messages'
- click_button 'Save'
- end
-
- step 'I should see the Irker success message' do
- expect(page).to have_content 'Irker (IRC gateway) activated.'
- end
-
- step 'I click Slack notifications service link' do
- click_link 'Slack notifications'
- end
-
- step 'I fill Slack notifications settings' do
- check 'Active'
- fill_in 'Webhook', with: 'https://hooks.slack.com/services/SVRWFV0VVAR97N/B02R25XN3/ZBqu7xMupaEEICInN685'
- click_button 'Save'
- end
-
- step 'I should see the Slack notifications success message' do
- expect(page).to have_content 'Slack notifications activated.'
- end
-
- step 'I click Pushover service link' do
- click_link 'Pushover'
- end
-
- step 'I fill Pushover settings' do
- check 'Active'
- fill_in 'Api key', with: 'verySecret'
- fill_in 'User key', with: 'verySecret'
- fill_in 'Device', with: 'myDevice'
- select 'High Priority', from: 'Priority'
- select 'Bike', from: 'Sound'
- click_button 'Save'
- end
-
- step 'I should see the Pushover success message' do
- expect(page).to have_content 'Pushover activated.'
- end
-
- step 'I click jira service link' do
- click_link 'JIRA'
- end
-
- step 'I fill jira settings' do
- check 'Active'
-
- fill_in 'Web URL', with: 'http://jira.example'
- fill_in 'JIRA API URL', with: 'http://jira.example/api'
- fill_in 'Username', with: 'gitlab'
- fill_in 'Password', with: 'gitlab'
- click_button 'Save'
- end
-
- step 'I should see the JIRA success message' do
- expect(page).to have_content 'JIRA activated.'
- end
-
- step 'I click Atlassian Bamboo CI service link' do
- click_link 'Atlassian Bamboo CI'
- end
-
- step 'I fill Atlassian Bamboo CI settings' do
- check 'Active'
- fill_in 'Bamboo url', with: 'http://bamboo.example.com'
- fill_in 'Build key', with: 'KEY'
- fill_in 'Username', with: 'user'
- fill_in 'Password', with: 'verySecret'
- click_button 'Save'
- end
-
- step 'I should see the Bamboo success message' do
- expect(page).to have_content 'Atlassian Bamboo CI activated.'
- end
-
- step 'I should see empty field Change Password' do
- click_link 'Atlassian Bamboo CI'
-
- expect(find_field('Enter new password').value).to be_nil
- end
-
- step 'I click JetBrains TeamCity CI service link' do
- click_link 'JetBrains TeamCity CI'
- end
-
- step 'I fill JetBrains TeamCity CI settings' do
- check 'Active'
- fill_in 'Teamcity url', with: 'http://teamcity.example.com'
- fill_in 'Build type', with: 'GitlabTest_Build'
- fill_in 'Username', with: 'user'
- fill_in 'Password', with: 'verySecret'
- click_button 'Save'
- end
-
- step 'I should see the JetBrains success message' do
- expect(page).to have_content 'JetBrains TeamCity CI activated.'
- end
-end
diff --git a/features/steps/shared/issuable.rb b/features/steps/shared/issuable.rb
index 7c842ba88fb..714985f2051 100644
--- a/features/steps/shared/issuable.rb
+++ b/features/steps/shared/issuable.rb
@@ -109,10 +109,10 @@ module SharedIssuable
edit_issuable
end
- step 'I sort the list by "Oldest updated"' do
+ step 'I sort the list by "Last updated"' do
find('button.dropdown-toggle').click
page.within('.content ul.dropdown-menu.dropdown-menu-align-right li') do
- click_link "Oldest updated"
+ click_link "Last updated"
end
end
@@ -124,16 +124,16 @@ module SharedIssuable
end
end
- step 'I sort the list by "Most popular"' do
+ step 'I sort the list by "Popularity"' do
find('button.dropdown-toggle').click
page.within('.content ul.dropdown-menu.dropdown-menu-align-right li') do
- click_link 'Most popular'
+ click_link 'Popularity'
end
end
- step 'The list should be sorted by "Oldest updated"' do
- expect(find('.issues-filters')).to have_content('Oldest updated')
+ step 'The list should be sorted by "Last updated"' do
+ expect(find('.issues-filters')).to have_content('Last updated')
end
step 'I click link "Next" in the sidebar' do