Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
630c3380
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 搜索 >>
提交
630c3380
编写于
9月 20, 2017
作者:
A
Alexis Reigel
提交者:
Alexis Reigel
1月 04, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
merge requests on system hook admin page
上级
d71d8ad7
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
70 addition
and
8 deletion
+70
-8
app/views/admin/hooks/_form.html.haml
app/views/admin/hooks/_form.html.haml
+7
-0
spec/features/admin/admin_hooks_spec.rb
spec/features/admin/admin_hooks_spec.rb
+63
-8
未找到文件。
app/views/admin/hooks/_form.html.haml
浏览文件 @
630c3380
...
...
@@ -38,6 +38,13 @@
%strong
Tag push events
%p
.light
This URL will be triggered when a new tag is pushed to the repository
%div
=
form
.
check_box
:merge_requests_events
,
class:
'pull-left'
.prepend-left-20
=
form
.
label
:merge_requests_events
,
class:
'list-label'
do
%strong
Merge Request events
%p
.light
This URL will be triggered when a merge request is created/updated/merged
.form-group
=
form
.
label
:enable_ssl_verification
,
'SSL verification'
,
class:
'control-label checkbox'
.col-sm-10
...
...
spec/features/admin/admin_hooks_spec.rb
浏览文件 @
630c3380
require
'spec_helper'
describe
'Admin::Hooks'
,
:js
do
before
do
@project
=
create
(
:project
)
sign_in
(
create
(
:admin
))
describe
'Admin::Hooks'
do
let
(
:user
)
{
create
(
:admin
)
}
@system_hook
=
create
(
:system_hook
)
before
do
sign_in
(
user
)
end
describe
'GET /admin/hooks'
do
...
...
@@ -13,15 +12,17 @@ describe 'Admin::Hooks', :js do
visit
admin_root_path
page
.
within
'.nav-sidebar'
do
click_on
'
Hooks'
click_on
'
System Hooks'
,
match: :first
end
expect
(
current_path
).
to
eq
(
admin_hooks_path
)
end
it
'has hooks list'
do
system_hook
=
create
(
:system_hook
)
visit
admin_hooks_path
expect
(
page
).
to
have_content
(
@
system_hook
.
url
)
expect
(
page
).
to
have_content
(
system_hook
.
url
)
end
end
...
...
@@ -43,6 +44,10 @@ describe 'Admin::Hooks', :js do
describe
'Update existing hook'
do
let
(
:new_url
)
{
generate
(
:url
)
}
before
do
create
(
:system_hook
)
end
it
'updates existing hook'
do
visit
admin_hooks_path
...
...
@@ -58,6 +63,10 @@ describe 'Admin::Hooks', :js do
end
describe
'Remove existing hook'
do
before
do
create
(
:system_hook
)
end
context
'removes existing hook'
do
it
'from hooks list page'
do
visit
admin_hooks_path
...
...
@@ -76,7 +85,8 @@ describe 'Admin::Hooks', :js do
describe
'Test'
,
:js
do
before
do
WebMock
.
stub_request
(
:post
,
@system_hook
.
url
)
system_hook
=
create
(
:system_hook
)
WebMock
.
stub_request
(
:post
,
system_hook
.
url
)
visit
admin_hooks_path
find
(
'.hook-test-button.dropdown'
).
click
...
...
@@ -85,4 +95,49 @@ describe 'Admin::Hooks', :js do
it
{
expect
(
current_path
).
to
eq
(
admin_hooks_path
)
}
end
context
'Merge request hook'
do
describe
'New Hook'
do
let
(
:url
)
{
generate
(
:url
)
}
it
'adds new hook'
do
visit
admin_hooks_path
fill_in
'hook_url'
,
with:
url
uncheck
'Repository update events'
check
'Merge Request events'
expect
{
click_button
'Add system hook'
}.
to
change
(
SystemHook
,
:count
).
by
(
1
)
expect
(
current_path
).
to
eq
(
admin_hooks_path
)
expect
(
page
).
to
have_content
(
url
)
end
end
describe
'Test'
,
:js
do
before
do
system_hook
=
create
(
:system_hook
)
WebMock
.
stub_request
(
:post
,
system_hook
.
url
)
end
it
'fails if the user does not have any repository with a merge request'
do
visit
admin_hooks_path
find
(
'.hook-test-button.dropdown'
).
click
click_link
'Merge requests events'
expect
(
page
).
to
have_content
'Ensure one of your projects has merge requests.'
end
it
'succeeds if the user has a repository with a merge request'
do
project
=
create
(
:project
,
:repository
)
create
(
:project_member
,
user:
user
,
project:
project
)
create
(
:merge_request
,
source_project:
project
)
visit
admin_hooks_path
find
(
'.hook-test-button.dropdown'
).
click
click_link
'Merge requests events'
expect
(
page
).
to
have_content
'Hook executed successfully'
end
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录