Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
8588b70f
Commit
8588b70f
authored
Dec 04, 2015
by
Valery Sizov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
spinach fix
parent
0566aa51
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
0 additions
and
376 deletions
+0
-376
features/groups.feature
features/groups.feature
+0
-138
features/steps/groups.rb
features/steps/groups.rb
+0
-237
features/steps/groups_management.rb
features/steps/groups_management.rb
+0
-1
No files found.
features/groups.feature
View file @
8588b70f
...
@@ -2,7 +2,6 @@ Feature: Groups
...
@@ -2,7 +2,6 @@ Feature: Groups
Background
:
Background
:
Given
I sign in as
"John Doe"
Given
I sign in as
"John Doe"
And
"John Doe"
is owner of group
"Owned"
And
"John Doe"
is owner of group
"Owned"
And
"John Doe"
is guest of group
"Guest"
Scenario
:
I
should have back to group button
Scenario
:
I
should have back to group button
When
I visit group
"Owned"
page
When
I visit group
"Owned"
page
...
@@ -24,13 +23,6 @@ Feature: Groups
...
@@ -24,13 +23,6 @@ Feature: Groups
When
I visit group
"Owned"
merge requests page
When
I visit group
"Owned"
merge requests page
Then
I should see merge requests from group
"Owned"
assigned to me
Then
I should see merge requests from group
"Owned"
assigned to me
@javascript
Scenario
:
I
should add user to projects in group
"Owned"
Given
User
"Mary Jane"
exists
When
I visit group
"Owned"
members page
And
I select user
"Mary Jane"
from list with role
"Reporter"
Then
I should see user
"Mary Jane"
in team list
Scenario
:
I
should see edit group
"Owned"
page
Scenario
:
I
should see edit group
"Owned"
page
When
I visit group
"Owned"
settings page
When
I visit group
"Owned"
settings page
And
I change group
"Owned"
name to
"new-name"
And
I change group
"Owned"
name to
"new-name"
...
@@ -58,136 +50,6 @@ Feature: Groups
...
@@ -58,136 +50,6 @@ Feature: Groups
Then
I see a new LDAP synchronization listed
Then
I see a new LDAP synchronization listed
And
LDAP disabled
And
LDAP disabled
@javascript
Scenario
:
Add user to group
Given
gitlab user
"Mike"
When
I visit group
"Owned"
members page
And
I click link
"Add members"
When
I select
"Mike"
as
"Reporter"
Then
I should see
"Mike"
in team list as
"Reporter"
@javascript
Scenario
:
Ignore add user to group when is already Owner
Given
gitlab user
"Mike"
When
I visit group
"Owned"
members page
And
I click link
"Add members"
When
I select
"Mike"
as
"Reporter"
Then
I should see
"Mike"
in team list as
"Owner"
@javascript
Scenario
:
Invite user to group
When
I visit group
"Owned"
members page
And
I click link
"Add members"
When
I select
"sjobs@apple.com"
as
"Reporter"
Then
I should see
"sjobs@apple.com"
in team list as invited
"Reporter"
# Leave
@javascript
Scenario
:
Owner should be able to remove himself from group if he is not the last owner
Given
"Mary Jane"
is owner of group
"Owned"
When
I visit group
"Owned"
members page
Then
I should see user
"John Doe"
in team list
Then
I should see user
"Mary Jane"
in team list
When
I click on the
"Remove User From Group"
button for
"John Doe"
And
I visit group
"Owned"
members page
Then
I should not see user
"John Doe"
in team list
Then
I should see user
"Mary Jane"
in team list
@javascript
Scenario
:
Owner should not be able to remove himself from group if he is the last owner
Given
"Mary Jane"
is guest of group
"Owned"
When
I visit group
"Owned"
members page
Then
I should see user
"John Doe"
in team list
Then
I should see user
"Mary Jane"
in team list
Then
I should not see the
"Remove User From Group"
button for
"John Doe"
@javascript
Scenario
:
Guest should be able to remove himself from group
Given
"Mary Jane"
is guest of group
"Guest"
When
I visit group
"Guest"
members page
Then
I should see user
"John Doe"
in team list
Then
I should see user
"Mary Jane"
in team list
When
I click on the
"Remove User From Group"
button for
"John Doe"
When
I visit group
"Guest"
members page
Then
I should not see user
"John Doe"
in team list
Then
I should see user
"Mary Jane"
in team list
@javascript
Scenario
:
Guest should be able to remove himself from group even if he is the only user in the group
When
I visit group
"Guest"
members page
Then
I should see user
"John Doe"
in team list
When
I click on the
"Remove User From Group"
button for
"John Doe"
When
I visit group
"Guest"
members page
Then
I should not see user
"John Doe"
in team list
# Remove others
Scenario
:
Owner should be able to remove other users from group
Given
"Mary Jane"
is owner of group
"Owned"
When
I visit group
"Owned"
members page
Then
I should see user
"John Doe"
in team list
Then
I should see user
"Mary Jane"
in team list
When
I click on the
"Remove User From Group"
button for
"Mary Jane"
When
I visit group
"Owned"
members page
Then
I should see user
"John Doe"
in team list
Then
I should not see user
"Mary Jane"
in team list
Scenario
:
Guest should not be able to remove other users from group
Given
"Mary Jane"
is guest of group
"Guest"
When
I visit group
"Guest"
members page
Then
I should see user
"John Doe"
in team list
Then
I should see user
"Mary Jane"
in team list
Then
I should not see the
"Remove User From Group"
button for
"Mary Jane"
Scenario
:
Search member by name
Given
"Mary Jane"
is guest of group
"Guest"
And
I visit group
"Guest"
members page
When
I search for 'Mary' member
Then
I should see user
"Mary Jane"
in team list
Then
I should not see user
"John Doe"
in team list
# Group milestones
Scenario
:
I
should see group
"Owned"
milestone index page with no milestones
When
I visit group
"Owned"
page
And
I click on group milestones
Then
I should see group milestones index page has no milestones
Scenario
:
I
should see group
"Owned"
milestone index page with milestones
Given
Group has projects with milestones
When
I visit group
"Owned"
page
And
I click on group milestones
Then
I should see group milestones index page with milestones
Scenario
:
I
should see group
"Owned"
milestone show page
Given
Group has projects with milestones
When
I visit group
"Owned"
page
And
I click on group milestones
And
I click on one group milestone
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
@javascript
Scenario
:
I
should see audit events
Given
User
"Mary Jane"
exists
When
I visit group
"Owned"
members page
And
I select user
"Mary Jane"
from list with role
"Reporter"
And
I change the role to
"Developer"
And
I click on the
"Remove User From Group"
button for
"Mary Jane"
When
I visit group
"Owned"
settings page
And
I go to
"Audit Events"
Then
I should see the audit event listed
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
# Group projects in settings
Scenario
:
I
should see all projects in the project list in settings
Scenario
:
I
should see all projects in the project list in settings
Given
Group
"Owned"
has archived project
Given
Group
"Owned"
has archived project
...
...
features/steps/groups.rb
View file @
8588b70f
...
@@ -3,16 +3,11 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
...
@@ -3,16 +3,11 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
include
SharedPaths
include
SharedPaths
include
SharedGroup
include
SharedGroup
include
SharedUser
include
SharedUser
include
Select2Helper
step
'I should see back to dashboard button'
do
step
'I should see back to dashboard button'
do
expect
(
page
).
to
have_content
'Go to dashboard'
expect
(
page
).
to
have_content
'Go to dashboard'
end
end
step
'gitlab user "Mike"'
do
create
(
:user
,
name:
"Mike"
)
end
step
'I click link "Add members"'
do
step
'I click link "Add members"'
do
find
(
:css
,
'button.btn-new'
).
click
find
(
:css
,
'button.btn-new'
).
click
end
end
...
@@ -37,59 +32,6 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
...
@@ -37,59 +32,6 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
expect
(
page
).
to
have_content
'Public-project'
expect
(
page
).
to
have_content
'Public-project'
end
end
step
'I select "Mike" as "Reporter"'
do
user
=
User
.
find_by
(
name:
"Mike"
)
page
.
within
".users-group-form"
do
select2
(
user
.
id
,
from:
"#user_ids"
,
multiple:
true
)
select
"Reporter"
,
from:
"access_level"
end
click_button
"Add users to group"
end
step
'I select "Mike" as "Master"'
do
user
=
User
.
find_by
(
name:
"Mike"
)
page
.
within
".users-group-form"
do
select2
(
user
.
id
,
from:
"#user_ids"
,
multiple:
true
)
select
"Master"
,
from:
"access_level"
end
click_button
"Add users to group"
end
step
'I should see "Mike" in team list as "Reporter"'
do
page
.
within
'.well-list'
do
expect
(
page
).
to
have_content
(
'Mike'
)
expect
(
page
).
to
have_content
(
'Reporter'
)
end
end
step
'I should see "Mike" in team list as "Owner"'
do
page
.
within
'.well-list'
do
expect
(
page
).
to
have_content
(
'Mike'
)
expect
(
page
).
to
have_content
(
'Owner'
)
end
end
step
'I select "sjobs@apple.com" as "Reporter"'
do
page
.
within
".users-group-form"
do
select2
(
"sjobs@apple.com"
,
from:
"#user_ids"
,
multiple:
true
)
select
"Reporter"
,
from:
"access_level"
end
click_button
"Add users to group"
end
step
'I should see "sjobs@apple.com" in team list as invited "Reporter"'
do
page
.
within
'.well-list'
do
expect
(
page
).
to
have_content
(
'sjobs@apple.com'
)
expect
(
page
).
to
have_content
(
'invited'
)
expect
(
page
).
to
have_content
(
'Reporter'
)
end
end
step
'I should see group "Owned" projects list'
do
step
'I should see group "Owned" projects list'
do
owned_group
.
projects
.
each
do
|
project
|
owned_group
.
projects
.
each
do
|
project
|
expect
(
page
).
to
have_link
project
.
name
expect
(
page
).
to
have_link
project
.
name
...
@@ -112,36 +54,6 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
...
@@ -112,36 +54,6 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
end
end
end
end
step
'I select user "Mary Jane" from list with role "Reporter"'
do
user
=
User
.
find_by
(
name:
"Mary Jane"
)
||
create
(
:user
,
name:
"Mary Jane"
)
click_button
'Add members'
page
.
within
".users-group-form"
do
select2
(
user
.
id
,
from:
"#user_ids"
,
multiple:
true
)
select
"Reporter"
,
from:
"access_level"
end
click_button
"Add users to group"
end
step
'I should see user "John Doe" in team list'
do
projects_with_access
=
find
(
".panel .well-list"
)
expect
(
projects_with_access
).
to
have_content
(
"John Doe"
)
end
step
'I should not see user "John Doe" in team list'
do
projects_with_access
=
find
(
".panel .well-list"
)
expect
(
projects_with_access
).
not_to
have_content
(
"John Doe"
)
end
step
'I should see user "Mary Jane" in team list'
do
projects_with_access
=
find
(
".panel .well-list"
)
expect
(
projects_with_access
).
to
have_content
(
"Mary Jane"
)
end
step
'I should not see user "Mary Jane" in team list'
do
projects_with_access
=
find
(
".panel .well-list"
)
expect
(
projects_with_access
).
not_to
have_content
(
"Mary Jane"
)
end
step
'I change the role to "Developer"'
do
step
'I change the role to "Developer"'
do
user
=
User
.
find_by
(
name:
"Mary Jane"
)
user
=
User
.
find_by
(
name:
"Mary Jane"
)
member
=
Group
.
find_by
(
name:
"Owned"
).
members
.
where
(
user_id:
user
.
id
).
first
member
=
Group
.
find_by
(
name:
"Owned"
).
members
.
where
(
user_id:
user
.
id
).
first
...
@@ -245,67 +157,6 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
...
@@ -245,67 +157,6 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
expect
(
page
).
not_to
have_link
(
"Remove avatar"
)
expect
(
page
).
not_to
have_link
(
"Remove avatar"
)
end
end
step
'I click on the "Remove User From Group" button for "John Doe"'
do
find
(
:css
,
'li'
,
text:
"John Doe"
).
find
(
:css
,
'a.btn-remove'
).
click
# poltergeist always confirms popups.
end
step
'I click on the "Remove User From Group" button for "Mary Jane"'
do
find
(
:css
,
'li'
,
text:
"Mary Jane"
).
find
(
:css
,
'a.btn-remove'
).
click
# poltergeist always confirms popups.
end
step
'I should not see the "Remove User From Group" button for "John Doe"'
do
expect
(
find
(
:css
,
'li'
,
text:
"John Doe"
)).
not_to
have_selector
(
:css
,
'a.btn-remove'
)
# poltergeist always confirms popups.
end
step
'I should not see the "Remove User From Group" button for "Mary Jane"'
do
expect
(
find
(
:css
,
'li'
,
text:
"Mary Jane"
)).
not_to
have_selector
(
:css
,
'a.btn-remove'
)
# poltergeist always confirms popups.
end
step
'I search for \'Mary\' member'
do
page
.
within
'.member-search-form'
do
fill_in
'search'
,
with:
'Mary'
click_button
'Search'
end
end
step
'I click on group milestones'
do
click_link
'Milestones'
end
step
'I should see group milestones index page has no milestones'
do
expect
(
page
).
to
have_content
(
'No milestones to show'
)
end
step
'Group has projects with milestones'
do
group_milestone
end
step
'I should see group milestones index page with milestones'
do
expect
(
page
).
to
have_content
(
'Version 7.2'
)
expect
(
page
).
to
have_content
(
'GL-113'
)
expect
(
page
).
to
have_link
(
'2 Issues'
,
href:
issues_group_path
(
"owned"
,
milestone_title:
"Version 7.2"
))
expect
(
page
).
to
have_link
(
'3 Merge Requests'
,
href:
merge_requests_group_path
(
"owned"
,
milestone_title:
"GL-113"
))
end
step
'I click on one group milestone'
do
click_link
'GL-113'
end
step
'I should see group milestone with descriptions and expiry date'
do
expect
(
page
).
to
have_content
(
'expires at Aug 20, 2114'
)
end
step
'I should see group milestone with all issues and MRs assigned to that milestone'
do
expect
(
page
).
to
have_content
(
'Milestone GL-113'
)
expect
(
page
).
to
have_content
(
'Progress: 0 closed – 4 open'
)
expect
(
page
).
to
have_link
(
@issue1
.
title
,
href:
namespace_project_issue_path
(
@project1
.
namespace
,
@project1
,
@issue1
))
expect
(
page
).
to
have_link
(
@mr3
.
title
,
href:
namespace_project_merge_request_path
(
@project3
.
namespace
,
@project3
,
@mr3
))
end
step
'Group "Owned" has archived project'
do
step
'Group "Owned" has archived project'
do
group
=
Group
.
find_by
(
name:
'Owned'
)
group
=
Group
.
find_by
(
name:
'Owned'
)
create
(
:project
,
namespace:
group
,
archived:
true
,
path:
"archived-project"
)
create
(
:project
,
namespace:
group
,
archived:
true
,
path:
"archived-project"
)
...
@@ -315,28 +166,6 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
...
@@ -315,28 +166,6 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
expect
(
page
).
to
have_xpath
(
"//span[@class='label label-warning']"
,
text:
'archived'
)
expect
(
page
).
to
have_xpath
(
"//span[@class='label label-warning']"
,
text:
'archived'
)
end
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
step
'LDAP enabled'
do
step
'LDAP enabled'
do
allow
(
Gitlab
.
config
.
ldap
).
to
receive
(
:enabled
).
and_return
(
true
)
allow
(
Gitlab
.
config
.
ldap
).
to
receive
(
:enabled
).
and_return
(
true
)
end
end
...
@@ -368,70 +197,4 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
...
@@ -368,70 +197,4 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
def
project
def
project
owned_group
.
projects
.
first
owned_group
.
projects
.
first
end
end
def
group_milestone
group
=
Group
.
find_by
(
name:
"Owned"
)
@project1
=
create
:project
,
group:
group
project2
=
create
:project
,
path:
'gitlab-ci'
,
group:
group
@project3
=
create
:project
,
path:
'cookbook-gitlab'
,
group:
group
milestone1_project1
=
create
:milestone
,
title:
"Version 7.2"
,
project:
@project1
milestone1_project2
=
create
:milestone
,
title:
"Version 7.2"
,
project:
project2
create
:milestone
,
title:
"Version 7.2"
,
project:
@project3
milestone2_project1
=
create
:milestone
,
title:
"GL-113"
,
project:
@project1
milestone2_project2
=
create
:milestone
,
title:
"GL-113"
,
project:
project2
milestone2_project3
=
create
:milestone
,
title:
"GL-113"
,
project:
@project3
,
due_date:
'2114-08-20'
,
description:
'Lorem Ipsum is simply dummy text of the printing and typesetting industry'
@issue1
=
create
:issue
,
project:
@project1
,
assignee:
current_user
,
author:
current_user
,
milestone:
milestone2_project1
create
:issue
,
project:
project2
,
assignee:
current_user
,
author:
current_user
,
milestone:
milestone1_project2
create
:issue
,
project:
@project3
,
assignee:
current_user
,
author:
current_user
,
milestone:
milestone1_project1
create
:merge_request
,
source_project:
@project1
,
target_project:
@project1
,
assignee:
current_user
,
author:
current_user
,
milestone:
milestone2_project1
create
:merge_request
,
source_project:
project2
,
target_project:
project2
,
assignee:
current_user
,
author:
current_user
,
milestone:
milestone2_project2
@mr3
=
create
:merge_request
,
source_project:
@project3
,
target_project:
@project3
,
assignee:
current_user
,
author:
current_user
,
milestone:
milestone2_project3
end
end
end
features/steps/groups_management.rb
View file @
8588b70f
...
@@ -28,7 +28,6 @@ class Spinach::Features::GroupsManagement < Spinach::FeatureSteps
...
@@ -28,7 +28,6 @@ class Spinach::Features::GroupsManagement < Spinach::FeatureSteps
end
end
step
'I can control user membership'
do
step
'I can control user membership'
do
expect
(
page
).
to
have_button
'Add members'
expect
(
page
).
to
have_link
'Import members'
expect
(
page
).
to
have_link
'Import members'
expect
(
page
).
to
have_selector
'#project_member_access_level'
expect
(
page
).
to
have_selector
'#project_member_access_level'
end
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment