summaryrefslogtreecommitdiff
path: root/features
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2015-11-17 15:40:54 +0100
committerDouwe Maan <douwe@gitlab.com>2015-11-17 15:40:54 +0100
commite849b51cae8956c9d4eebe9c42804443a55edb83 (patch)
tree69d96404ed3d9fb6f10d59334cffce4c4cf62725 /features
parent56ea71a3b19396b01b3b8495337fbf22c534524f (diff)
parent1c040b3f0a3ecb18fc8fdea3cf99b70edad8d873 (diff)
downloadgitlab-ce-e849b51cae8956c9d4eebe9c42804443a55edb83.tar.gz
Merge branch 'master' into james11/gitlab-ce-removable-group-owner
Diffstat (limited to 'features')
-rw-r--r--features/groups.feature9
-rw-r--r--features/profile/profile.feature1
-rw-r--r--features/project/commits/tags.feature20
-rw-r--r--features/project/merge_requests.feature9
-rw-r--r--features/steps/groups.rb24
-rw-r--r--features/steps/profile/profile.rb15
-rw-r--r--features/steps/project/commits/tags.rb36
-rw-r--r--features/steps/project/graph.rb6
-rw-r--r--features/steps/project/issues/issues.rb2
-rw-r--r--features/steps/project/merge_requests.rb20
-rw-r--r--features/steps/project/project.rb4
-rw-r--r--features/steps/shared/paths.rb4
-rw-r--r--features/steps/shared/project_tab.rb2
13 files changed, 116 insertions, 36 deletions
diff --git a/features/groups.feature b/features/groups.feature
index 7777c0298a4..abf3769a844 100644
--- a/features/groups.feature
+++ b/features/groups.feature
@@ -161,6 +161,13 @@ Feature: Groups
Then I should see group milestone with descriptions and expiry date
And I should see group milestone with all issues and MRs assigned to that milestone
+ Scenario: Create multiple milestones with one form
+ Given I visit group "Owned" milestones page
+ And I click new milestone button
+ And I fill milestone name
+ When I press create mileston button
+ Then milestone in each project should be created
+
# Group projects in settings
Scenario: I should see all projects in the project list in settings
Given Group "Owned" has archived project
@@ -177,4 +184,4 @@ Feature: Groups
When I visit group "Owned" page
Then I should see group "Owned"
Then I should see project "Public-project"
-
+
diff --git a/features/profile/profile.feature b/features/profile/profile.feature
index 27c0bde364e..168d9d30b50 100644
--- a/features/profile/profile.feature
+++ b/features/profile/profile.feature
@@ -7,6 +7,7 @@ Feature: Profile
Given I visit profile page
Then I should see my profile info
+ @javascript
Scenario: I can see groups I belong to
Given I have group with projects
When I visit profile page
diff --git a/features/project/commits/tags.feature b/features/project/commits/tags.feature
index 02f399f7cad..56ee091acc0 100644
--- a/features/project/commits/tags.feature
+++ b/features/project/commits/tags.feature
@@ -12,6 +12,12 @@ Feature: Project Commits Tags
And I submit new tag form
Then I should see new tag created
+ Scenario: I create a tag with release notes
+ Given I click new tag link
+ And I submit new tag form with release notes
+ Then I should see new tag created
+ And I should see tag release notes
+
Scenario: I create a tag with invalid name
And I click new tag link
And I submit new tag form with invalid name
@@ -27,15 +33,13 @@ Feature: Project Commits Tags
And I submit new tag form with tag that already exists
Then I should see new an error that tag already exists
- @javascript
Scenario: I delete a tag
+ Given I visit tag 'v1.1.0' page
Given I delete tag 'v1.1.0'
Then I should not see tag 'v1.1.0'
- @javascript
- Scenario: I delete all tags and see info message
- Given I delete all tags
- Then I should see tags info message
-
- # @wip
- # Scenario: I can download project by tag
+ Scenario: I add release notes to the tag
+ Given I visit tag 'v1.1.0' page
+ When I click edit tag link
+ And I fill release notes and submit form
+ Then I should see tag release notes
diff --git a/features/project/merge_requests.feature b/features/project/merge_requests.feature
index f423c3ba542..6cd081c868e 100644
--- a/features/project/merge_requests.feature
+++ b/features/project/merge_requests.feature
@@ -16,6 +16,15 @@ Feature: Project Merge Requests
When I visit project "Shop" merge requests page
Then I should see merge request "Bug NS-05" with CI status
+ Scenario: I should not see target branch name when it is project's default branch
+ Then I should see "Bug NS-04" in merge requests
+ And I should not see "master" branch
+
+ Scenario: I should see target branch when it is different from default
+ Given project "Shop" have "Bug NS-06" open merge request
+ When I visit project "Shop" merge requests page
+ Then I should see "other_branch" branch
+
Scenario: I should see rejected merge requests
Given I click link "Closed"
Then I should see "Feature NS-03" in merge requests
diff --git a/features/steps/groups.rb b/features/steps/groups.rb
index 5fd4dea5cd6..9c0313537b1 100644
--- a/features/steps/groups.rb
+++ b/features/steps/groups.rb
@@ -6,7 +6,7 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
include Select2Helper
step 'I should see back to dashboard button' do
- expect(page).to have_content 'Back to dashboard'
+ expect(page).to have_content 'Go to dashboard'
end
step 'gitlab user "Mike"' do
@@ -273,6 +273,28 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
expect(page).to have_xpath("//span[@class='label label-warning']", text: 'archived')
end
+ step 'I fill milestone name' do
+ fill_in 'milestone_title', with: 'v2.9.0'
+ end
+
+ step 'I click new milestone button' do
+ click_link "New Milestone"
+ end
+
+ step 'I press create mileston button' do
+ click_button "Create Milestone"
+ end
+
+ step 'milestone in each project should be created' do
+ group = Group.find_by(name: 'Owned')
+ expect(page).to have_content "Milestone v2.9.0"
+ expect(group.projects).to be_present
+
+ group.projects.each do |project|
+ expect(page).to have_content project.name
+ end
+ end
+
protected
def assigned_to_me(key)
diff --git a/features/steps/profile/profile.rb b/features/steps/profile/profile.rb
index 8cf24705a5e..40b2aa7c357 100644
--- a/features/steps/profile/profile.rb
+++ b/features/steps/profile/profile.rb
@@ -59,7 +59,7 @@ class Spinach::Features::Profile < Spinach::FeatureSteps
step 'I should not see the "Remove avatar" button' do
expect(page).not_to have_link("Remove avatar")
end
-
+
step 'I should see the gravatar host link' do
expect(page).to have_link("gravatar.com")
end
@@ -159,10 +159,9 @@ class Spinach::Features::Profile < Spinach::FeatureSteps
end
step 'I should see my user page' do
- expect(page).to have_content "User Activity"
-
- page.within '.navbar-gitlab' do
+ page.within ".cover-block" do
expect(page).to have_content current_user.name
+ expect(page).to have_content current_user.username
end
end
@@ -176,7 +175,13 @@ class Spinach::Features::Profile < Spinach::FeatureSteps
end
step 'I should see groups I belong to' do
- expect(page).to have_css('.profile-groups-avatars', visible: true)
+ page.within ".content" do
+ click_link "Groups"
+ end
+
+ page.within "#groups" do
+ expect(page).to have_content @group.name
+ end
end
step 'I click on new application button' do
diff --git a/features/steps/project/commits/tags.rb b/features/steps/project/commits/tags.rb
index e6f8faf50fd..eff4234a44a 100644
--- a/features/steps/project/commits/tags.rb
+++ b/features/steps/project/commits/tags.rb
@@ -18,6 +18,18 @@ class Spinach::Features::ProjectCommitsTags < Spinach::FeatureSteps
click_button 'Create tag'
end
+ step 'I submit new tag form with release notes' do
+ fill_in 'tag_name', with: 'v7.0'
+ fill_in 'ref', with: 'master'
+ fill_in 'release_description', with: 'Awesome release notes'
+ click_button 'Create tag'
+ end
+
+ step 'I fill release notes and submit form' do
+ fill_in 'release_description', with: 'Awesome release notes'
+ click_button 'Save changes'
+ end
+
step 'I submit new tag form with invalid name' do
fill_in 'tag_name', with: 'v 1.0'
fill_in 'ref', with: 'master'
@@ -52,31 +64,27 @@ class Spinach::Features::ProjectCommitsTags < Spinach::FeatureSteps
expect(page).to have_content 'Tag already exists'
end
+ step "I visit tag 'v1.1.0' page" do
+ click_link 'v1.1.0'
+ end
+
step "I delete tag 'v1.1.0'" do
- page.within '.tags' do
+ page.within('.content') do
first('.btn-remove').click
- sleep 0.05
end
end
step "I should not see tag 'v1.1.0'" do
page.within '.tags' do
- expect(page.all(visible: true)).not_to have_content 'v1.1.0'
+ expect(page).not_to have_link 'v1.1.0'
end
end
- step 'I delete all tags' do
- page.within '.tags' do
- page.all('.btn-remove').each do |remove|
- remove.click
- sleep 0.05
- end
- end
+ step 'I click edit tag link' do
+ click_link 'Edit release notes'
end
- step 'I should see tags info message' do
- page.within '.tags' do
- expect(page).to have_content 'Repository has no tags yet.'
- end
+ step 'I should see tag release notes' do
+ expect(page).to have_content 'Awesome release notes'
end
end
diff --git a/features/steps/project/graph.rb b/features/steps/project/graph.rb
index 4abd5288d51..98f31f3b76a 100644
--- a/features/steps/project/graph.rb
+++ b/features/steps/project/graph.rb
@@ -25,9 +25,9 @@ class Spinach::Features::ProjectGraph < Spinach::FeatureSteps
step 'page should have CI graphs' do
expect(page).to have_content 'Overall'
- expect(page).to have_content 'Builds chart for last week'
- expect(page).to have_content 'Builds chart for last month'
- expect(page).to have_content 'Builds chart for last year'
+ expect(page).to have_content 'Builds for last week'
+ expect(page).to have_content 'Builds for last month'
+ expect(page).to have_content 'Builds for last year'
expect(page).to have_content 'Commit duration in minutes for last 30 commits'
end
diff --git a/features/steps/project/issues/issues.rb b/features/steps/project/issues/issues.rb
index af2da41badb..be134b9c2bb 100644
--- a/features/steps/project/issues/issues.rb
+++ b/features/steps/project/issues/issues.rb
@@ -219,7 +219,7 @@ class Spinach::Features::ProjectIssues < Spinach::FeatureSteps
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```")
+ expect(page).to have_content("Command [1]: /usr/local/bin/git , see [text](doc/text)")
end
step 'project \'Shop\' has issue \'Bugfix1\' with description: \'Description for issue1\'' do
diff --git a/features/steps/project/merge_requests.rb b/features/steps/project/merge_requests.rb
index 92ec14d0d76..d5f2c4209a1 100644
--- a/features/steps/project/merge_requests.rb
+++ b/features/steps/project/merge_requests.rb
@@ -40,6 +40,14 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
expect(page).to have_content "Bug NS-04"
end
+ step 'I should not see "master" branch' do
+ expect(page).not_to have_content "master"
+ end
+
+ step 'I should see "other_branch" branch' do
+ expect(page).to have_content "other_branch"
+ end
+
step 'I should see "Bug NS-04" in merge requests' do
expect(page).to have_content "Bug NS-04"
end
@@ -93,6 +101,18 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
)
end
+ step 'project "Shop" have "Bug NS-06" open merge request' do
+ create(:merge_request,
+ title: "Bug NS-06",
+ source_project: project,
+ target_project: project,
+ source_branch: 'fix',
+ target_branch: 'other_branch',
+ author: project.users.first,
+ description: "# Description header"
+ )
+ end
+
step 'project "Shop" have "Bug NS-05" open merge request with diffs inside' do
create(:merge_request_with_diffs,
title: "Bug NS-05",
diff --git a/features/steps/project/project.rb b/features/steps/project/project.rb
index d76891d5bde..9ca7c8ebbc7 100644
--- a/features/steps/project/project.rb
+++ b/features/steps/project/project.rb
@@ -124,11 +124,11 @@ class Spinach::Features::Project < Spinach::FeatureSteps
end
step 'I should see back to dashboard button' do
- expect(page).to have_content 'Back to dashboard'
+ expect(page).to have_content 'Go to dashboard'
end
step 'I should see back to group button' do
- expect(page).to have_content 'Back to group'
+ expect(page).to have_content 'Go to group'
end
step 'I click notifications drop down button' do
diff --git a/features/steps/shared/paths.rb b/features/steps/shared/paths.rb
index eb978620da6..c74a5fd3bc7 100644
--- a/features/steps/shared/paths.rb
+++ b/features/steps/shared/paths.rb
@@ -31,6 +31,10 @@ module SharedPaths
visit merge_requests_group_path(Group.find_by(name: "Owned"))
end
+ step 'I visit group "Owned" milestones page' do
+ visit group_milestones_path(Group.find_by(name: "Owned"))
+ end
+
step 'I visit group "Owned" members page' do
visit group_group_members_path(Group.find_by(name: "Owned"))
end
diff --git a/features/steps/shared/project_tab.rb b/features/steps/shared/project_tab.rb
index c67e5e4a06a..33ff7084e30 100644
--- a/features/steps/shared/project_tab.rb
+++ b/features/steps/shared/project_tab.rb
@@ -46,7 +46,7 @@ module SharedProjectTab
step 'the active main tab should be Settings' do
page.within '.nav-sidebar' do
- expect(page).to have_content('Back to project')
+ expect(page).to have_content('Go to project')
end
end