Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
67cc6b06
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
67cc6b06
编写于
12月 01, 2015
作者:
D
Douglas Barbosa Alexandre
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Signed in admin should be able to add/remove himself to a project
上级
9ab7bdf7
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
55 addition
and
4 deletion
+55
-4
app/models/ability.rb
app/models/ability.rb
+2
-4
features/admin/projects.feature
features/admin/projects.feature
+16
-0
features/steps/admin/projects.rb
features/steps/admin/projects.rb
+37
-0
未找到文件。
app/models/ability.rb
浏览文件 @
67cc6b06
...
...
@@ -365,12 +365,10 @@ class Ability
unless
target_user
==
project
.
owner
can_manage
=
project_abilities
(
user
,
project
).
include?
(
:admin_project_member
)
if
can_manage
&&
user
!=
target_user
if
can_manage
rules
<<
:update_project_member
rules
<<
:destroy_project_member
end
if
user
==
target_user
elsif
user
==
target_user
rules
<<
:destroy_project_member
end
end
...
...
features/admin/projects.feature
浏览文件 @
67cc6b06
...
...
@@ -27,3 +27,19 @@ Feature: Admin Projects
And
I visit admin project page
When
I transfer project to group 'Web'
Then
I should see project transfered
@javascript
Scenario
:
Signed in admin should be able to add himself to a project
Given
"John Doe"
owns private project
"Enterprise"
When
I visit project
"Enterprise"
members page
When
I select current user as
"Developer"
Then
I should see current user as
"Developer"
@javascript
Scenario
:
Signed in admin should be able to remove himself from a project
Given
"John Doe"
owns private project
"Enterprise"
And
current user is developer of project
"Enterprise"
When
I visit project
"Enterprise"
members page
Then
I should see current user as
"Developer"
When
I click on the
"Remove User From Project"
button for current user
Then
I should not see current user as
"Developer"
features/steps/admin/projects.rb
浏览文件 @
67cc6b06
...
...
@@ -3,6 +3,8 @@ class Spinach::Features::AdminProjects < Spinach::FeatureSteps
include
SharedPaths
include
SharedAdmin
include
SharedProject
include
SharedUser
include
Select2Helper
step
'I should see all non-archived projects'
do
Project
.
non_archived
.
each
do
|
p
|
...
...
@@ -56,6 +58,41 @@ class Spinach::Features::AdminProjects < Spinach::FeatureSteps
expect
(
page
).
to
have_content
'Namespace: Web'
end
step
'I visit project "Enterprise" members page'
do
project
=
Project
.
find_by!
(
name:
"Enterprise"
)
visit
namespace_project_project_members_path
(
project
.
namespace
,
project
)
end
step
'I select current user as "Developer"'
do
page
.
within
".users-project-form"
do
select2
(
current_user
.
id
,
from:
"#user_ids"
,
multiple:
true
)
select
"Developer"
,
from:
"access_level"
end
click_button
"Add users to project"
end
step
'I should see current user as "Developer"'
do
page
.
within
'.content-list'
do
expect
(
page
).
to
have_content
(
current_user
.
name
)
expect
(
page
).
to
have_content
(
'Developer'
)
end
end
step
'current user is developer of project "Enterprise"'
do
project
=
Project
.
find_by!
(
name:
"Enterprise"
)
project
.
team
<<
[
current_user
,
:developer
]
end
step
'I click on the "Remove User From Project" button for current user'
do
find
(
:css
,
'li'
,
text:
current_user
.
name
).
find
(
:css
,
'a.btn-remove'
).
click
# poltergeist always confirms popups.
end
step
'I should not see current_user as "Developer"'
do
expect
(
page
).
not_to
have_selector
(
:css
,
'.content-list'
)
end
def
project
@project
||=
Project
.
first
end
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录