summaryrefslogtreecommitdiff
path: root/features
diff options
context:
space:
mode:
authorFilipa Lacerda <filipa@gitlab.com>2018-04-04 14:39:53 +0100
committerFilipa Lacerda <filipa@gitlab.com>2018-04-04 14:39:53 +0100
commit35dd0b6dfbbac5ce6b407340b5f64519e9cb6c42 (patch)
tree8fcab294e12df3e938deb926bf8e330464bfdbaf /features
parentff1383fb11267996bf040260513e6d3d8f468def (diff)
parent873a1d9364337b4de4665032a5841a162706d1d4 (diff)
downloadgitlab-ce-35dd0b6dfbbac5ce6b407340b5f64519e9cb6c42.tar.gz
[ci skip] Merge branch 'master' into 42568-pipeline-empty-state
* master: (293 commits) Revert changelog entry for removed feature Revert "Allow CI/CD Jobs being grouped on version strings" Resolve "Protected branches count is wrong when a wildcard includes several protected branches" Use standard codequality job Resolve "Allow the configuration of a project's merge method via the API" [Rails5] Rename `sort` methods to `sort_by_attribute` Add better LDAP connection handling Updated components to PascalCase Handle invalid params when trying update_username Move network related app settings to expandable blocks [Rails5] Update Gemfile.rails5.lock [ci skip] Update Security Products examples documentation Backport Gitlab::Git::Checksum to CE Add changelog Refactor discussions/notes code Remove unnecessary section looking in admin settings qa Explicitly use page context for qa/factory/settings/hashed_storage.rb Use gitlab_environment because we need: Allow feature gate removal through the API Use shard name in Git::GitlabProjects instead of shard path ...
Diffstat (limited to 'features')
-rw-r--r--features/groups.feature73
-rw-r--r--features/project/issues/issues.feature180
-rw-r--r--features/project/issues/labels.feature48
-rw-r--r--features/project/issues/milestones.feature1
-rw-r--r--features/steps/groups.rb147
-rw-r--r--features/steps/project/issues/issues.rb181
-rw-r--r--features/steps/project/issues/labels.rb101
-rw-r--r--features/steps/project/project.rb2
-rw-r--r--features/steps/shared/issuable.rb23
-rw-r--r--features/steps/shared/markdown.rb37
-rw-r--r--features/steps/shared/note.rb22
-rw-r--r--features/steps/shared/paths.rb31
-rw-r--r--features/steps/shared/project.rb4
-rw-r--r--features/steps/shared/user.rb4
14 files changed, 2 insertions, 852 deletions
diff --git a/features/groups.feature b/features/groups.feature
deleted file mode 100644
index 4044bd9be79..00000000000
--- a/features/groups.feature
+++ /dev/null
@@ -1,73 +0,0 @@
-Feature: Groups
- Background:
- Given I sign in as "John Doe"
- And "John Doe" is owner of group "Owned"
-
- Scenario: I should not see a group if it does not exist
- When I visit group "NonExistentGroup" page
- Then page status code should be 404
-
- @javascript
- Scenario: I should see group "Owned" dashboard list
- When I visit group "Owned" page
- Then I should see group "Owned" projects list
-
- @javascript
- Scenario: I should see group "Owned" activity feed
- When I visit group "Owned" activity page
- And I should see projects activity feed
-
- Scenario: I should see group "Owned" issues list
- Given project from group "Owned" has issues assigned to me
- When I visit group "Owned" issues page
- Then I should see issues from group "Owned" assigned to me
-
- Scenario: I should not see issues from archived project in "Owned" group issues list
- Given Group "Owned" has archived project
- And the archived project have some issues
- When I visit group "Owned" issues page
- Then I should not see issues from the archived project
-
- Scenario: I should see group "Owned" merge requests list
- Given project from group "Owned" has merge requests assigned to me
- When I visit group "Owned" merge requests page
- Then I should see merge requests from group "Owned" assigned to me
-
- Scenario: I should not see merge requests from archived project in "Owned" group merge requests list
- Given Group "Owned" has archived project
- And the archived project have some merge_requests
- When I visit group "Owned" merge requests page
- Then I should not see merge requests from the archived project
-
- Scenario: I edit group "Owned" avatar
- When I visit group "Owned" settings page
- And I change group "Owned" avatar
- And I visit group "Owned" settings page
- Then I should see new group "Owned" avatar
- And I should see the "Remove avatar" button
-
- Scenario: I remove group "Owned" avatar
- When I visit group "Owned" settings page
- And I have group "Owned" avatar
- And I visit group "Owned" settings page
- And I remove group "Owned" avatar
- Then I should not see group "Owned" avatar
- And I should not see the "Remove avatar" button
-
- # Group projects in settings
- Scenario: I should see all projects in the project list in settings
- Given Group "Owned" has archived project
- When I visit group "Owned" projects page
- Then I should see group "Owned" projects list
- And I should see "archived" label
-
- # Public group
- @javascript
- Scenario: Signed out user should see group
- Given "Mary Jane" is owner of group "Owned"
- And I am a signed out user
- And Group "Owned" has a public project "Public-project"
- When I visit group "Owned" page
- Then I should see group "Owned"
- Then I should see project "Public-project"
-
diff --git a/features/project/issues/issues.feature b/features/project/issues/issues.feature
deleted file mode 100644
index 819354bb780..00000000000
--- a/features/project/issues/issues.feature
+++ /dev/null
@@ -1,180 +0,0 @@
-@project_issues
-Feature: Project Issues
- Background:
- Given I sign in as a user
- And I own project "Shop"
- And project "Shop" have "Release 0.4" open issue
- And project "Shop" have "Tweet control" open issue
- And project "Shop" have "Release 0.3" closed issue
- And I visit project "Shop" issues page
-
- Scenario: I should see open issues
- Given I should see "Release 0.4" in issues
- And I should not see "Release 0.3" in issues
-
- @javascript
- Scenario: I should see closed issues
- Given I click link "Closed"
- Then I should see "Release 0.3" in issues
- And I should not see "Release 0.4" in issues
-
- @javascript
- Scenario: I should see all issues
- Given I click link "All"
- Then I should see "Release 0.3" in issues
- And I should see "Release 0.4" in issues
-
- Scenario: I visit issue page
- Given I click link "Release 0.4"
- Then I should see issue "Release 0.4"
-
- Scenario: I submit new unassigned issue
- Given I click link "New Issue"
- And I submit new issue "500 error on profile"
- Then I should see issue "500 error on profile"
-
- @javascript
- Scenario: I submit new unassigned issue with labels
- Given project "Shop" has labels: "bug", "feature", "enhancement"
- And I click link "New Issue"
- And I submit new issue "500 error on profile" with label 'bug'
- Then I should see issue "500 error on profile"
- And I should see label 'bug' with issue
-
- @javascript
- Scenario: I comment issue
- Given I visit issue page "Release 0.4"
- And I leave a comment like "XML attached"
- Then I should see comment "XML attached"
- And I should see an error alert section within the comment form
-
- @javascript
- Scenario: Visiting Issues after being sorted the list
- Given I visit project "Shop" issues page
- 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 "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 "Last updated"
- And I visit project "Shop" merge requests page
- 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 "Last updated"
- And I visit dashboard merge requests page
- 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 "Popularity"
- Then The list should be sorted by "Popularity"
-
- # Markdown
-
- @javascript
- Scenario: Headers inside the description should have ids generated for them.
- Given I visit issue page "Release 0.4"
- Then Header "Description header" should have correct id and link
-
- @javascript
- Scenario: Headers inside comments should not have ids generated for them.
- Given I visit issue page "Release 0.4"
- And I leave a comment with a header containing "Comment with a header"
- Then The comment with the header should not have an ID
-
- @javascript
- Scenario: Blocks inside comments should not build relative links
- Given I visit issue page "Release 0.4"
- And I leave a comment with code block
- Then The code block should be unchanged
-
- Scenario: Issues on empty project
- Given empty project "Empty Project"
- And I have an ssh key
- When I visit empty project page
- And I see empty project details with ssh clone info
- When I visit empty project's issues page
- Given I click link "New Issue"
- And I submit new issue "500 error on profile"
- Then I should see issue "500 error on profile"
-
- Scenario: Clickable labels
- Given issue 'Release 0.4' has label 'bug'
- And I visit project "Shop" issues page
- When I click label 'bug'
- And I should see "Release 0.4" in issues
- And I should not see "Tweet control" in issues
-
- @javascript
- Scenario: Issue notes should be editable with +1
- Given project "Shop" have "Release 0.4" open issue
- When I visit issue page "Release 0.4"
- And I leave a comment with a header containing "Comment with a header"
- Then The comment with the header should not have an ID
- And I edit the last comment with a +1
- Then I should see +1 in the description
-
- # Issue description preview
-
- @javascript
- Scenario: I can't preview without text
- Given I click link "New Issue"
- And I haven't written any description text
- Then The Markdown preview tab should say there is nothing to do
-
- @javascript
- Scenario: I can preview with text
- Given I click link "New Issue"
- And I write a description like ":+1: Nice"
- Then The Markdown preview tab should display rendered Markdown
-
- @javascript
- Scenario: I preview an issue description
- Given I click link "New Issue"
- And I preview a description text like "Bug fixed :smile:"
- Then I should see the Markdown preview
- And I should not see the Markdown text field
-
- @javascript
- Scenario: I can edit after preview
- Given I click link "New Issue"
- And I preview a description text like "Bug fixed :smile:"
- Then I should see the Markdown write tab
-
- @javascript
- Scenario: I can preview when editing an existing issue
- Given I click link "Release 0.4"
- And I click link "Edit" for the issue
- And I preview a description text like "Bug fixed :smile:"
- Then I should see the Markdown write tab
-
- @javascript
- Scenario: I can unsubscribe from issue
- Given project "Shop" have "Release 0.4" open issue
- When I visit issue page "Release 0.4"
- Then I should see that I am subscribed
- When I click the subscription toggle
- Then I should see that I am unsubscribed
-
- @javascript
- Scenario: I submit new unassigned issue as guest
- Given public project "Community"
- When I visit project "Community" page
- And I visit project "Community" issues page
- And I click link "New Issue"
- And I should not see assignee field
- And I should not see milestone field
- And I should not see labels field
- And I submit new issue "500 error on profile"
- Then I should see issue "500 error on profile"
diff --git a/features/project/issues/labels.feature b/features/project/issues/labels.feature
deleted file mode 100644
index 45de57f18e3..00000000000
--- a/features/project/issues/labels.feature
+++ /dev/null
@@ -1,48 +0,0 @@
-@project_issues
-Feature: Project Issues Labels
- Background:
- Given I sign in as a user
- And I own project "Shop"
- And project "Shop" has labels: "bug", "feature", "enhancement"
- Given I visit project "Shop" labels page
-
- Scenario: I should see labels list
- Then I should see label 'bug'
- And I should see label 'feature'
-
- Scenario: I create new label
- Given I visit project "Shop" new label page
- When I submit new label 'support'
- Then I should see label 'support'
-
- Scenario: I edit label
- Given I visit 'bug' label edit page
- When I change label 'bug' to 'fix'
- Then I should not see label 'bug'
- Then I should see label 'fix'
-
- Scenario: I remove label
- When I remove label 'bug'
- Then I should not see label 'bug'
-
- @javascript
- Scenario: I remove all labels
- When I delete all labels
- Then I should see labels help message
-
- Scenario: I create a label with invalid color
- Given I visit project "Shop" new label page
- When I submit new label with invalid color
- Then I should see label color error message
-
- Scenario: I create a label that already exists
- Given I visit project "Shop" new label page
- When I submit new label 'bug'
- Then I should see label label exist error message
-
- Scenario: I create the same label on another project
- Given I own project "Forum"
- And I visit project "Forum" labels page
- And I visit project "Forum" new label page
- When I submit new label 'bug'
- Then I should see label 'bug'
diff --git a/features/project/issues/milestones.feature b/features/project/issues/milestones.feature
index d121222308d..77c8ed6e5bf 100644
--- a/features/project/issues/milestones.feature
+++ b/features/project/issues/milestones.feature
@@ -39,4 +39,5 @@ Feature: Project Issues Milestones
Scenario: Headers inside the description should have ids generated for them.
Given I click link "v2.2"
+ # PLEASE USE the `have_header_with_correct_id_and_link(level, text, id, parent)` matcher on migrating this spec to rspec.
Then Header "Description header" should have correct id and link
diff --git a/features/steps/groups.rb b/features/steps/groups.rb
deleted file mode 100644
index 753694a5392..00000000000
--- a/features/steps/groups.rb
+++ /dev/null
@@ -1,147 +0,0 @@
-class Spinach::Features::Groups < Spinach::FeatureSteps
- include SharedAuthentication
- include SharedPaths
- include SharedGroup
- include SharedUser
-
- step 'I should see group "Owned"' do
- expect(page).to have_content 'Owned'
- end
-
- step 'I am a signed out user' do
- logout
- end
-
- step 'Group "Owned" has a public project "Public-project"' do
- group = owned_group
-
- @project = create :project, :public,
- group: group,
- name: "Public-project"
- end
-
- step 'I should see project "Public-project"' do
- expect(page).to have_content 'Public-project'
- end
-
- step 'I should see group "Owned" projects list' do
- owned_group.projects.each do |project|
- expect(page).to have_link project.name
- end
- end
-
- step 'I should see projects activity feed' do
- expect(page).to have_content 'joined project'
- end
-
- step 'I should see issues from group "Owned" assigned to me' do
- assigned_to_me(:issues).each do |issue|
- expect(page).to have_content issue.title
- end
- end
-
- step 'I should not see issues from the archived project' do
- @archived_project.issues.each do |issue|
- expect(page).not_to have_content issue.title
- end
- end
-
- step 'I should not see merge requests from the archived project' do
- @archived_project.merge_requests.each do |mr|
- expect(page).not_to have_content mr.title
- end
- end
-
- step 'I should see merge requests from group "Owned" assigned to me' do
- assigned_to_me(:merge_requests).each do |issue|
- expect(page).to have_content issue.title[0..80]
- end
- end
-
- step 'project from group "Owned" has issues assigned to me' do
- create :issue,
- project: project,
- assignees: [current_user],
- author: current_user
- end
-
- step 'project from group "Owned" has merge requests assigned to me' do
- create :merge_request,
- source_project: project,
- target_project: project,
- assignee: current_user,
- author: current_user
- end
-
- step 'I change group "Owned" avatar' do
- attach_file(:group_avatar, File.join(Rails.root, 'spec', 'fixtures', 'banana_sample.gif'))
- click_button "Save group"
- owned_group.reload
- end
-
- step 'I should see new group "Owned" avatar' do
- expect(owned_group.avatar).to be_instance_of AvatarUploader
- expect(owned_group.avatar.url).to eq "/uploads/-/system/group/avatar/#{Group.find_by(name: "Owned").id}/banana_sample.gif"
- end
-
- step 'I should see the "Remove avatar" button' do
- expect(page).to have_link("Remove avatar")
- end
-
- step 'I have group "Owned" avatar' do
- attach_file(:group_avatar, File.join(Rails.root, 'spec', 'fixtures', 'banana_sample.gif'))
- click_button "Save group"
- owned_group.reload
- end
-
- step 'I remove group "Owned" avatar' do
- click_link "Remove avatar"
- owned_group.reload
- end
-
- step 'I should not see group "Owned" avatar' do
- expect(owned_group.avatar?).to eq false
- end
-
- step 'I should not see the "Remove avatar" button' do
- expect(page).not_to have_link("Remove avatar")
- end
-
- step 'Group "Owned" has archived project' do
- group = Group.find_by(name: 'Owned')
- @archived_project = create(:project, :archived, namespace: group, path: "archived-project")
- end
-
- step 'I should see "archived" label' do
- expect(page).to have_xpath("//span[@class='label label-warning']", text: 'archived')
- end
-
- step 'I visit group "NonExistentGroup" page' do
- visit group_path("NonExistentGroup")
- end
-
- step 'the archived project have some issues' do
- create :issue,
- project: @archived_project,
- assignees: [current_user],
- author: current_user
- end
-
- step 'the archived project have some merge requests' do
- create :merge_request,
- source_project: @archived_project,
- target_project: @archived_project,
- assignee: current_user,
- author: current_user
- end
-
- private
-
- def assigned_to_me(key)
- project.send(key).assigned_to(current_user)
- end
-
- def project
- owned_group.projects.first
- end
-end
diff --git a/features/steps/project/issues/issues.rb b/features/steps/project/issues/issues.rb
index 3cd26bb429b..baa78c23203 100644
--- a/features/steps/project/issues/issues.rb
+++ b/features/steps/project/issues/issues.rb
@@ -7,36 +7,14 @@ class Spinach::Features::ProjectIssues < Spinach::FeatureSteps
include SharedMarkdown
include SharedUser
- step 'I should see "Release 0.4" in issues' do
- expect(page).to have_content "Release 0.4"
- end
-
step 'I should not see "Release 0.3" in issues' do
expect(page).not_to have_content "Release 0.3"
end
- step 'I should not see "Tweet control" in issues' do
- expect(page).not_to have_content "Tweet control"
- end
-
- step 'I should see that I am subscribed' do
- wait_for_requests
- expect(find('.js-issuable-subscribe-button')).to have_css 'button.is-checked'
- end
-
- step 'I should see that I am unsubscribed' do
- wait_for_requests
- expect(find('.js-issuable-subscribe-button')).to have_css 'button:not(.is-checked)'
- end
-
step 'I click link "Closed"' do
find('.issues-state-filters [data-state="closed"] span', text: 'Closed').click
end
- step 'I click the subscription toggle' do
- find('.js-issuable-subscribe-button button').click
- end
-
step 'I should see "Release 0.3" in issues' do
expect(page).to have_content "Release 0.3"
end
@@ -51,24 +29,10 @@ class Spinach::Features::ProjectIssues < Spinach::FeatureSteps
expect(find('.issues-state-filters > .active')).to have_content 'All'
end
- step 'I click link "Release 0.4"' do
- click_link "Release 0.4"
- end
-
- step 'I should see issue "Release 0.4"' do
- expect(page).to have_content "Release 0.4"
- end
-
step 'I should see issue "Tweet control"' do
expect(page).to have_content "Tweet control"
end
- step 'I click link "New issue"' do
- page.within '#content-body' do
- page.has_link?('New Issue') ? click_link('New Issue') : click_link('New issue')
- end
- end
-
step 'I click "author" dropdown' do
page.find('.js-author-search').click
sleep 1
@@ -81,18 +45,6 @@ class Spinach::Features::ProjectIssues < Spinach::FeatureSteps
expect(users[1].text).to eq "#{current_user.name} #{current_user.to_reference}"
end
- step 'I submit new issue "500 error on profile"' do
- fill_in "issue_title", with: "500 error on profile"
- click_button "Submit issue"
- end
-
- step 'I submit new issue "500 error on profile" with label \'bug\'' do
- fill_in "issue_title", with: "500 error on profile"
- click_button "Label"
- click_link "bug"
- click_button "Submit issue"
- end
-
step 'I click link "500 error on profile"' do
click_link "500 error on profile"
end
@@ -103,13 +55,6 @@ class Spinach::Features::ProjectIssues < Spinach::FeatureSteps
end
end
- step 'I should see issue "500 error on profile"' do
- issue = Issue.find_by(title: "500 error on profile")
- expect(page).to have_content issue.title
- expect(page).to have_content issue.author_name
- expect(page).to have_content issue.project.name
- end
-
step 'I fill in issue search with "Re"' do
filter_issue "Re"
end
@@ -163,49 +108,6 @@ class Spinach::Features::ProjectIssues < Spinach::FeatureSteps
expect(find(issues_assignee_selector)).to have_content(assignee_name)
end
- step 'project "Shop" have "Release 0.4" open issue' do
- create(:issue,
- title: "Release 0.4",
- project: project,
- author: project.users.first,
- description: "# Description header"
- )
- wait_for_requests
- end
-
- step 'project "Shop" have "Tweet control" open issue' do
- create(:issue,
- title: "Tweet control",
- project: project,
- author: project.users.first)
- end
-
- step 'project "Shop" have "Bugfix" open issue' do
- create(:issue,
- title: "Bugfix",
- project: project,
- author: project.users.first)
- end
-
- step 'project "Shop" have "Release 0.3" closed issue' do
- create(:closed_issue,
- title: "Release 0.3",
- project: project,
- author: project.users.first)
- end
-
- step 'issue "Release 0.4" have 2 upvotes and 1 downvote' do
- awardable = Issue.find_by(title: 'Release 0.4')
- create_list(:award_emoji, 2, awardable: awardable)
- create(:award_emoji, :downvote, awardable: awardable)
- end
-
- step 'issue "Tweet control" have 1 upvote and 2 downvotes' do
- awardable = Issue.find_by(title: 'Tweet control')
- create(:award_emoji, :upvote, awardable: awardable)
- create_list(:award_emoji, 2, awardable: awardable, name: 'thumbsdown')
- end
-
step 'The list should be sorted by "Least popular"' do
page.within '.issues-list' do
page.within 'li.issue:nth-child(1)' do
@@ -225,69 +127,16 @@ class Spinach::Features::ProjectIssues < Spinach::FeatureSteps
end
end
- 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'
- expect(page).to have_content '2 1'
- end
-
- page.within 'li.issue:nth-child(2)' do
- expect(page).to have_content 'Tweet control'
- expect(page).to have_content '1 2'
- end
-
- page.within 'li.issue:nth-child(3)' do
- expect(page).to have_content 'Bugfix'
- expect(page).not_to have_content '0 0'
- end
- end
- end
-
- step 'empty project "Empty Project"' do
- create :project_empty_repo, name: 'Empty Project', namespace: @user.namespace
- end
-
When 'I visit empty project page' do
project = Project.find_by(name: 'Empty Project')
visit project_path(project)
end
- step 'I see empty project details with ssh clone info' do
- project = Project.find_by(name: 'Empty Project')
- page.all(:css, '.git-empty .clone').each do |element|
- expect(element.text).to include(project.url_to_repo)
- end
- end
-
When "I visit project \"Community\" issues page" do
project = Project.find_by(name: 'Community')
visit project_issues_path(project)
end
- When "I visit empty project's issues page" do
- project = Project.find_by(name: 'Empty Project')
- visit project_issues_path(project)
- end
-
- step 'I leave a comment with code block' do
- page.within(".js-main-target-form") do
- fill_in "note[note]", with: "```\nCommand [1]: /usr/local/bin/git , see [text](doc/text)\n```"
- click_button "Comment"
- sleep 0.05
- end
- end
-
- step 'I should see an error alert section within the comment form' do
- page.within(".js-main-target-form") do
- find(".error-alert")
- end
- end
-
- step 'The code block should be unchanged' do
- expect(page).to have_content("```\nCommand [1]: /usr/local/bin/git , see [text](doc/text)\n```")
- end
-
step 'project \'Shop\' has issue \'Bugfix1\' with description: \'Description for issue1\'' do
create(:issue, title: 'Bugfix1', description: 'Description for issue1', project: project)
end
@@ -320,36 +169,6 @@ class Spinach::Features::ProjectIssues < Spinach::FeatureSteps
expect(page).not_to have_content 'Bugfix1'
end
- step 'issue \'Release 0.4\' has label \'bug\'' do
- label = project.labels.create!(name: 'bug', color: '#990000')
- issue = Issue.find_by!(title: 'Release 0.4')
- issue.labels << label
- end
-
- step 'I click label \'bug\'' do
- page.within ".issues-list" do
- click_link 'bug'
- end
- end
-
- step 'I should not see labels field' do
- page.within '.issue-form' do
- expect(page).not_to have_content("Labels")
- end
- end
-
- step 'I should not see milestone field' do
- page.within '.issue-form' do
- expect(page).not_to have_content("Milestone")
- end
- end
-
- step 'I should not see assignee field' do
- page.within '.issue-form' do
- expect(page).not_to have_content("Assign to")
- end
- end
-
def filter_issue(text)
fill_in 'issuable_search', with: text
end
diff --git a/features/steps/project/issues/labels.rb b/features/steps/project/issues/labels.rb
deleted file mode 100644
index 4df96e081f9..00000000000
--- a/features/steps/project/issues/labels.rb
+++ /dev/null
@@ -1,101 +0,0 @@
-class Spinach::Features::ProjectIssuesLabels < Spinach::FeatureSteps
- include SharedAuthentication
- include SharedProject
- include SharedPaths
-
- step 'I visit \'bug\' label edit page' do
- visit edit_project_label_path(project, bug_label)
- end
-
- step 'I remove label \'bug\'' do
- page.within "#project_label_#{bug_label.id}" do
- first(:link, 'Delete').click
- end
- end
-
- step 'I delete all labels' do
- page.within '.labels' do
- page.all('.label-list-item').each do
- first('.remove-row').click
- first(:link, 'Delete label').click
- end
- end
- end
-
- step 'I should see labels help message' do
- page.within '.labels' do
- expect(page).to have_content 'Generate a default set of labels'
- expect(page).to have_content 'New label'
- end
- end
-
- step 'I submit new label \'support\'' do
- fill_in 'Title', with: 'support'
- fill_in 'Background color', with: '#F95610'
- click_button 'Create label'
- end
-
- step 'I submit new label \'bug\'' do
- fill_in 'Title', with: 'bug'
- fill_in 'Background color', with: '#F95610'
- click_button 'Create label'
- end
-
- step 'I submit new label with invalid color' do
- fill_in 'Title', with: 'support'
- fill_in 'Background color', with: '#12'
- click_button 'Create label'
- end
-
- step 'I should see label label exist error message' do
- page.within '.label-form' do
- expect(page).to have_content 'Title has already been taken'
- end
- end
-
- step 'I should see label color error message' do
- page.within '.label-form' do
- expect(page).to have_content 'Color must be a valid color code'
- end
- end
-
- step 'I should see label \'feature\'' do
- page.within '.other-labels .manage-labels-list' do
- expect(page).to have_content 'feature'
- end
- end
-
- step 'I should see label \'bug\'' do
- page.within '.other-labels .manage-labels-list' do
- expect(page).to have_content 'bug'
- end
- end
-
- step 'I should not see label \'bug\'' do
- page.within '.other-labels .manage-labels-list' do
- expect(page).not_to have_content 'bug'
- end
- end
-
- step 'I should see label \'support\'' do
- page.within '.other-labels .manage-labels-list' do
- expect(page).to have_content 'support'
- end
- end
-
- step 'I change label \'bug\' to \'fix\'' do
- fill_in 'Title', with: 'fix'
- fill_in 'Background color', with: '#F15610'
- click_button 'Save changes'
- end
-
- step 'I should see label \'fix\'' do
- page.within '.other-labels .manage-labels-list' do
- expect(page).to have_content 'fix'
- end
- end
-
- def bug_label
- project.labels.find_or_create_by(title: 'bug')
- end
-end
diff --git a/features/steps/project/project.rb b/features/steps/project/project.rb
index 3a762be8f1f..bba30a72325 100644
--- a/features/steps/project/project.rb
+++ b/features/steps/project/project.rb
@@ -143,7 +143,7 @@ class Spinach::Features::Project < Spinach::FeatureSteps
end
step 'I create bare repo' do
- click_link 'Create empty bare repository'
+ click_link 'Create empty repository'
end
step 'I should see command line instructions' do
diff --git a/features/steps/shared/issuable.rb b/features/steps/shared/issuable.rb
index f90247c3fe8..a9174efd334 100644
--- a/features/steps/shared/issuable.rb
+++ b/features/steps/shared/issuable.rb
@@ -105,17 +105,6 @@ module SharedIssuable
edit_issuable
end
- step 'I click link "Edit" for the issue' do
- edit_issuable
- end
-
- 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 "Last updated"
- end
- end
-
step 'I sort the list by "Least popular"' do
find('button.dropdown-toggle').click
@@ -124,18 +113,6 @@ module SharedIssuable
end
end
- 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 'Popularity'
- end
- end
-
- 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
page.within '.issuable-sidebar' do
click_link 'Next'
diff --git a/features/steps/shared/markdown.rb b/features/steps/shared/markdown.rb
index c2bec2a6320..c66280127e9 100644
--- a/features/steps/shared/markdown.rb
+++ b/features/steps/shared/markdown.rb
@@ -18,43 +18,6 @@ module SharedMarkdown
expect(find('.gfm-form .js-md-preview')).not_to be_visible
end
- step 'The Markdown preview tab should say there is nothing to do' do
- page.within('.gfm-form') do
- find('.js-md-preview-button').click
- expect(find('.js-md-preview')).to have_content('Nothing to preview.')
- end
- end
-
- step 'I should not see the Markdown text field' do
- expect(find('.gfm-form textarea')).not_to be_visible
- end
-
- step 'I should see the Markdown write tab' do
- expect(first('.gfm-form')).to have_link('Write', visible: true)
- end
-
- step 'I should see the Markdown preview' do
- expect(find('.gfm-form')).to have_css('.js-md-preview', visible: true)
- end
-
- step 'The Markdown preview tab should display rendered Markdown' do
- page.within('.gfm-form') do
- find('.js-md-preview-button').click
- expect(find('.js-md-preview')).to have_css('gl-emoji', visible: true)
- end
- end
-
- step 'I write a description like ":+1: Nice"' do
- find('.gfm-form').fill_in 'Description', with: ':+1: Nice'
- end
-
- step 'I preview a description text like "Bug fixed :smile:"' do
- page.within(first('.gfm-form')) do
- fill_in 'Description', with: 'Bug fixed :smile:'
- click_link 'Preview'
- end
- end
-
step 'I haven\'t written any description text' do
find('.gfm-form').fill_in 'Description', with: ''
end
diff --git a/features/steps/shared/note.rb b/features/steps/shared/note.rb
index 95f0cd2156e..cbe1cae096e 100644
--- a/features/steps/shared/note.rb
+++ b/features/steps/shared/note.rb
@@ -114,34 +114,12 @@ module SharedNote
end
end
- step 'I should see comment "XML attached"' do
- page.within(".note") do
- expect(page).to have_content("XML attached")
- end
- end
-
step 'I should see no notes at all' do
expect(page).not_to have_css('.note')
end
# Markdown
- step 'I leave a comment with a header containing "Comment with a header"' do
- page.within(".js-main-target-form") do
- fill_in "note[note]", with: "# Comment with a header"
- click_button "Comment"
- end
-
- wait_for_requests
- end
-
- step 'The comment with the header should not have an ID' do
- page.within(".note-body > .note-text") do
- expect(page).to have_content("Comment with a header")
- expect(page).not_to have_css("#comment-with-a-header")
- end
- end
-
step 'I edit the last comment with a +1' do
page.within(".main-notes-list") do
note = find('.note')
diff --git a/features/steps/shared/paths.rb b/features/steps/shared/paths.rb
index bff0d58aaf4..cc893b8391e 100644
--- a/features/steps/shared/paths.rb
+++ b/features/steps/shared/paths.rb
@@ -96,10 +96,6 @@ module SharedPaths
visit assigned_issues_dashboard_path
end
- step 'I visit dashboard merge requests page' do
- visit assigned_mrs_dashboard_path
- end
-
step 'I visit dashboard search page' do
visit search_path
end
@@ -200,10 +196,6 @@ module SharedPaths
# Generic Project
# ----------------------------------------
- step "I visit my project's home page" do
- visit project_path(@project)
- end
-
step "I visit my project's settings page" do
visit edit_project_path(@project)
end
@@ -339,20 +331,11 @@ module SharedPaths
visit project_commit_path(@project, sample_commit.id)
end
- step 'I visit project "Shop" issues page' do
- visit project_issues_path(project)
- end
-
step 'I visit issue page "Release 0.4"' do
issue = Issue.find_by(title: "Release 0.4")
visit project_issue_path(issue.project, issue)
end
- step 'I visit project "Shop" labels page' do
- project = Project.find_by(name: 'Shop')
- visit project_labels_path(project)
- end
-
step 'I visit project "Forum" labels page' do
project = Project.find_by(name: 'Forum')
visit project_labels_path(project)
@@ -394,10 +377,6 @@ module SharedPaths
wait_for_requests
end
- step 'I visit project "Shop" merge requests page' do
- visit project_merge_requests_path(project)
- end
-
step 'I visit forked project "Shop" merge requests page' do
visit project_merge_requests_path(project)
end
@@ -418,11 +397,6 @@ module SharedPaths
# Visibility Projects
# ----------------------------------------
- step 'I visit project "Community" page' do
- project = Project.find_by(name: "Community")
- visit project_path(project)
- end
-
step 'I visit project "Community" source page' do
project = Project.find_by(name: 'Community')
visit project_tree_path(project, root_ref)
@@ -442,11 +416,6 @@ module SharedPaths
# Empty Projects
# ----------------------------------------
- step "I visit empty project page" do
- project = Project.find_by(name: "Empty Public Project")
- visit project_path(project)
- end
-
step "I should not see command line instructions" do
expect(page).not_to have_css('.empty_wrapper')
end
diff --git a/features/steps/shared/project.rb b/features/steps/shared/project.rb
index 07a0e2e072c..be848ebafa0 100644
--- a/features/steps/shared/project.rb
+++ b/features/steps/shared/project.rb
@@ -236,10 +236,6 @@ module SharedProject
@project.update(public_builds: false)
end
- step 'project "Shop" has a "Bugfix MR" merge request open' do
- create(:merge_request, title: "Bugfix MR", target_project: project, source_project: project, author: project.users.first)
- end
-
def user_owns_project(user_name:, project_name:, visibility: :private)
user = user_exists(user_name, username: user_name.gsub(/\s/, '').underscore)
project = Project.find_by(name: project_name)
diff --git a/features/steps/shared/user.rb b/features/steps/shared/user.rb
index 9856c510aa0..9cadc91769d 100644
--- a/features/steps/shared/user.rb
+++ b/features/steps/shared/user.rb
@@ -19,10 +19,6 @@ module SharedUser
User.find_by(name: name) || create(:user, { name: name, admin: false }.merge(options))
end
- step 'I have an ssh key' do
- create(:personal_key, user: @user)
- end
-
step 'I have no ssh keys' do
@user.keys.delete_all
end