Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
fa075771
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,体验更适合开发者的 AI 搜索 >>
未验证
提交
fa075771
编写于
10月 19, 2016
作者:
D
Dmitriy Zaporozhets
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Refactor group_members_controller_spec
Signed-off-by:
N
Dmitriy Zaporozhets
<
dmitriy.zaporozhets@gmail.com
>
上级
72af0e73
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
35 addition
and
86 deletion
+35
-86
spec/controllers/groups/group_members_controller_spec.rb
spec/controllers/groups/group_members_controller_spec.rb
+34
-86
spec/factories/group_members.rb
spec/factories/group_members.rb
+1
-0
未找到文件。
spec/controllers/groups/group_members_controller_spec.rb
浏览文件 @
fa075771
...
...
@@ -2,16 +2,10 @@ require 'spec_helper'
describe
Groups
::
GroupMembersController
do
let
(
:user
)
{
create
(
:user
)
}
let
(
:group
)
{
create
(
:group
,
:public
)
}
describe
'#index'
do
let
(
:group
)
{
create
(
:group
)
}
before
do
group
.
add_owner
(
user
)
stub_application_setting
(
restricted_visibility_levels:
[
Gitlab
::
VisibilityLevel
::
PUBLIC
])
end
it
'renders index with group members'
do
describe
'GET index'
do
it
'renders index with 200 status code'
do
get
:index
,
group_id:
group
expect
(
response
).
to
have_http_status
(
200
)
...
...
@@ -19,74 +13,56 @@ describe Groups::GroupMembersController do
end
end
describe
'#destroy'
do
let
(
:group
)
{
create
(
:group
,
:public
)
}
describe
'DELETE destroy'
do
let
(
:member
)
{
create
(
:group_member
,
:developer
,
group:
group
)
}
before
{
sign_in
(
user
)
}
context
'when member is not found'
do
it
'returns 403'
do
delete
:destroy
,
group_id:
group
,
id:
42
delete
:destroy
,
group_id:
group
,
id:
42
expect
(
response
).
to
have_http_status
(
403
)
end
end
context
'when member is found'
do
let
(
:user
)
{
create
(
:user
)
}
let
(
:group_user
)
{
create
(
:user
)
}
let
(
:member
)
do
group
.
add_developer
(
group_user
)
group
.
members
.
find_by
(
user_id:
group_user
)
end
context
'when user does not have enough rights'
do
before
do
group
.
add_developer
(
user
)
sign_in
(
user
)
end
before
{
group
.
add_developer
(
user
)
}
it
'returns 403'
do
delete
:destroy
,
group_id:
group
,
id:
member
delete
:destroy
,
group_id:
group
,
id:
member
expect
(
response
).
to
have_http_status
(
403
)
expect
(
group
.
users
).
to
include
group_us
er
expect
(
group
.
members
).
to
include
memb
er
end
end
context
'when user has enough rights'
do
before
do
group
.
add_owner
(
user
)
sign_in
(
user
)
end
before
{
group
.
add_owner
(
user
)
}
it
'[HTML] removes user from members'
do
delete
:destroy
,
group_id:
group
,
id:
member
delete
:destroy
,
group_id:
group
,
id:
member
expect
(
response
).
to
set_flash
.
to
'User was successfully removed from group.'
expect
(
response
).
to
redirect_to
(
group_group_members_path
(
group
))
expect
(
group
.
users
).
not_to
include
group_us
er
expect
(
group
.
members
).
not_to
include
memb
er
end
it
'[JS] removes user from members'
do
xhr
:delete
,
:destroy
,
group_id:
group
,
id:
member
xhr
:delete
,
:destroy
,
group_id:
group
,
id:
member
expect
(
response
).
to
be_success
expect
(
group
.
users
).
not_to
include
group_us
er
expect
(
group
.
members
).
not_to
include
memb
er
end
end
end
end
describe
'#leave'
do
let
(
:group
)
{
create
(
:group
,
:public
)
}
let
(
:user
)
{
create
(
:user
)
}
describe
'DELETE leave'
do
before
{
sign_in
(
user
)
}
context
'when member is not found'
do
before
{
sign_in
(
user
)
}
it
'returns 404'
do
delete
:leave
,
group_id:
group
...
...
@@ -96,10 +72,7 @@ describe Groups::GroupMembersController do
context
'when member is found'
do
context
'and is not an owner'
do
before
do
group
.
add_developer
(
user
)
sign_in
(
user
)
end
before
{
group
.
add_developer
(
user
)
}
it
'removes user from members'
do
delete
:leave
,
group_id:
group
...
...
@@ -111,10 +84,7 @@ describe Groups::GroupMembersController do
end
context
'and is an owner'
do
before
do
group
.
add_owner
(
user
)
sign_in
(
user
)
end
before
{
group
.
add_owner
(
user
)
}
it
'cannot removes himself from the group'
do
delete
:leave
,
group_id:
group
...
...
@@ -124,10 +94,7 @@ describe Groups::GroupMembersController do
end
context
'and is a requester'
do
before
do
group
.
request_access
(
user
)
sign_in
(
user
)
end
before
{
group
.
request_access
(
user
)
}
it
'removes user from members'
do
delete
:leave
,
group_id:
group
...
...
@@ -141,13 +108,8 @@ describe Groups::GroupMembersController do
end
end
describe
'#request_access'
do
let
(
:group
)
{
create
(
:group
,
:public
)
}
let
(
:user
)
{
create
(
:user
)
}
before
do
sign_in
(
user
)
end
describe
'POST request_access'
do
before
{
sign_in
(
user
)
}
it
'creates a new GroupMember that is not a team member'
do
post
:request_access
,
group_id:
group
...
...
@@ -159,53 +121,39 @@ describe Groups::GroupMembersController do
end
end
describe
'#approve_access_request'
do
let
(
:group
)
{
create
(
:group
,
:public
)
}
describe
'POST approve_access_request'
do
let
(
:member
)
{
create
(
:group_member
,
:access_request
,
group:
group
)
}
before
{
sign_in
(
user
)
}
context
'when member is not found'
do
it
'returns 403'
do
post
:approve_access_request
,
group_id:
group
,
id:
42
post
:approve_access_request
,
group_id:
group
,
id:
42
expect
(
response
).
to
have_http_status
(
403
)
end
end
context
'when member is found'
do
let
(
:user
)
{
create
(
:user
)
}
let
(
:group_requester
)
{
create
(
:user
)
}
let
(
:member
)
do
group
.
request_access
(
group_requester
)
group
.
requesters
.
find_by
(
user_id:
group_requester
)
end
context
'when user does not have enough rights'
do
before
do
group
.
add_developer
(
user
)
sign_in
(
user
)
end
before
{
group
.
add_developer
(
user
)
}
it
'returns 403'
do
post
:approve_access_request
,
group_id:
group
,
id:
member
post
:approve_access_request
,
group_id:
group
,
id:
member
expect
(
response
).
to
have_http_status
(
403
)
expect
(
group
.
users
).
not_to
include
group_request
er
expect
(
group
.
members
).
not_to
include
memb
er
end
end
context
'when user has enough rights'
do
before
do
group
.
add_owner
(
user
)
sign_in
(
user
)
end
before
{
group
.
add_owner
(
user
)
}
it
'adds user to members'
do
post
:approve_access_request
,
group_id:
group
,
id:
member
post
:approve_access_request
,
group_id:
group
,
id:
member
expect
(
response
).
to
redirect_to
(
group_group_members_path
(
group
))
expect
(
group
.
users
).
to
include
group_request
er
expect
(
group
.
members
).
to
include
memb
er
end
end
end
...
...
spec/factories/group_members.rb
浏览文件 @
fa075771
...
...
@@ -9,5 +9,6 @@ FactoryGirl.define do
trait
(
:developer
)
{
access_level
GroupMember
::
DEVELOPER
}
trait
(
:master
)
{
access_level
GroupMember
::
MASTER
}
trait
(
:owner
)
{
access_level
GroupMember
::
OWNER
}
trait
(
:access_request
)
{
requested_at
Time
.
now
}
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录