Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
3811eb0b
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 搜索 >>
提交
3811eb0b
编写于
4月 26, 2016
作者:
R
Rémy Coutable
提交者:
Stan Hu
4月 29, 2016
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix error when trying to create a wiki page
Closes #15527. Signed-off-by:
N
Rémy Coutable
<
remy@rymai.me
>
上级
bfc6a0e3
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
139 addition
and
4 deletion
+139
-4
CHANGELOG
CHANGELOG
+2
-1
app/controllers/projects/wikis_controller.rb
app/controllers/projects/wikis_controller.rb
+2
-2
app/services/wiki_pages/create_service.rb
app/services/wiki_pages/create_service.rb
+2
-1
spec/features/projects/wiki/user_creates_wiki_page_spec.rb
spec/features/projects/wiki/user_creates_wiki_page_spec.rb
+87
-0
spec/features/projects/wiki/user_updates_wiki_page_spec.rb
spec/features/projects/wiki/user_updates_wiki_page_spec.rb
+46
-0
未找到文件。
CHANGELOG
浏览文件 @
3811eb0b
...
...
@@ -15,8 +15,9 @@ v 8.8.0 (unreleased)
- Files over 5MB can only be viewed in their raw form, files over 1MB without highlighting !3718
- Add support for supressing text diffs using .gitattributes on the default branch (Matt Oakes)
v 8.7.2
v 8.7.2
(unreleased)
- The "New Branch" button is now loaded asynchronously
- Fix error 500 when trying to create a wiki page
v 8.7.1
- Throttle the update of `project.last_activity_at` to 1 minute. !3848
...
...
app/controllers/projects/wikis_controller.rb
浏览文件 @
3811eb0b
...
...
@@ -40,10 +40,10 @@ class Projects::WikisController < Projects::ApplicationController
end
def
update
@page
=
@project_wiki
.
find_page
(
params
[
:id
])
return
render
(
'empty'
)
unless
can?
(
current_user
,
:create_wiki
,
@project
)
@page
=
@project_wiki
.
find_page
(
params
[
:id
])
if
@page
=
WikiPages
::
UpdateService
.
new
(
@project
,
current_user
,
wiki_params
).
execute
(
@page
)
redirect_to
(
namespace_project_wiki_path
(
@project
.
namespace
,
@project
,
@page
),
...
...
app/services/wiki_pages/create_service.rb
浏览文件 @
3811eb0b
module
WikiPages
class
CreateService
<
WikiPages
::
BaseService
def
execute
page
=
WikiPage
.
new
(
@project
.
wiki
)
project_wiki
=
ProjectWiki
.
new
(
@project
,
current_user
)
page
=
WikiPage
.
new
(
project_wiki
)
if
page
.
create
(
@params
)
execute_hooks
(
page
,
'create'
)
...
...
spec/features/projects/wiki/user_creates_wiki_page_spec.rb
0 → 100644
浏览文件 @
3811eb0b
require
'spec_helper'
feature
'Projects > Wiki > User creates wiki page'
,
feature:
true
do
let
(
:user
)
{
create
(
:user
)
}
background
do
project
.
team
<<
[
user
,
:master
]
login_as
(
user
)
visit
namespace_project_path
(
project
.
namespace
,
project
)
click_link
'Wiki'
end
context
'wiki project is in the user namespace'
do
let
(
:project
)
{
create
(
:project
,
namespace:
user
.
namespace
)
}
context
'when wiki is empty'
do
scenario
'user can create a new wiki page from the wiki home page'
do
expect
(
page
).
to
have_content
(
'Home · Edit Page'
)
fill_in
:wiki_content
,
with:
'My awesome wiki!'
click_button
'Create page'
expect
(
page
).
to
have_content
(
"Home · last edited by
#{
user
.
name
}
"
)
expect
(
page
).
to
have_content
(
'My awesome wiki!'
)
end
end
context
'when wiki is not empty'
do
before
do
WikiPages
::
CreateService
.
new
(
project
,
user
,
title:
'home'
,
content:
'Home page'
).
execute
end
scenario
'user can create a new wiki page'
,
js:
true
do
click_link
'New Page'
fill_in
:new_wiki_path
,
with:
'foo'
click_button
'Create Page'
expect
(
page
).
to
have_content
(
'Foo · Edit Page'
)
fill_in
:wiki_content
,
with:
'My awesome wiki!'
click_button
'Create page'
expect
(
page
).
to
have_content
(
"Foo · last edited by
#{
user
.
name
}
"
)
expect
(
page
).
to
have_content
(
'My awesome wiki!'
)
end
end
end
context
'wiki project is in the user namespace'
do
let
(
:project
)
{
create
(
:project
,
namespace:
create
(
:group
,
:public
))
}
context
'when wiki is empty'
do
scenario
'user can create a new wiki page from the wiki home page'
do
expect
(
page
).
to
have_content
(
'Home · Edit Page'
)
fill_in
:wiki_content
,
with:
'My awesome wiki!'
click_button
'Create page'
expect
(
page
).
to
have_content
(
"Home · last edited by
#{
user
.
name
}
"
)
expect
(
page
).
to
have_content
(
'My awesome wiki!'
)
end
end
context
'when wiki is not empty'
do
before
do
WikiPages
::
CreateService
.
new
(
project
,
user
,
title:
'home'
,
content:
'Home page'
).
execute
end
scenario
'user can create a new wiki page'
,
js:
true
do
click_link
'New Page'
fill_in
:new_wiki_path
,
with:
'foo'
click_button
'Create Page'
expect
(
page
).
to
have_content
(
'Foo · Edit Page'
)
fill_in
:wiki_content
,
with:
'My awesome wiki!'
click_button
'Create page'
expect
(
page
).
to
have_content
(
"Foo · last edited by
#{
user
.
name
}
"
)
expect
(
page
).
to
have_content
(
'My awesome wiki!'
)
end
end
end
end
spec/features/projects/wiki/user_updates_wiki_page_spec.rb
0 → 100644
浏览文件 @
3811eb0b
require
'spec_helper'
feature
'Projects > Wiki > User updates wiki page'
,
feature:
true
do
let
(
:user
)
{
create
(
:user
)
}
background
do
project
.
team
<<
[
user
,
:master
]
login_as
(
user
)
visit
namespace_project_path
(
project
.
namespace
,
project
)
WikiPages
::
CreateService
.
new
(
project
,
user
,
title:
'home'
,
content:
'Home page'
).
execute
click_link
'Wiki'
end
context
'wiki project is in the user namespace'
do
let
(
:project
)
{
create
(
:project
,
namespace:
user
.
namespace
)
}
scenario
'user can update the wiki home page'
do
click_link
'Edit'
expect
(
page
).
to
have_content
(
'Home · Edit Page'
)
fill_in
:wiki_content
,
with:
'My awesome wiki!'
click_button
'Save changes'
expect
(
page
).
to
have_content
(
"Home · last edited by
#{
user
.
name
}
"
)
expect
(
page
).
to
have_content
(
'My awesome wiki!'
)
end
end
context
'wiki project is in the user namespace'
do
let
(
:project
)
{
create
(
:project
,
namespace:
create
(
:group
,
:public
))
}
scenario
'user can update the wiki home page'
do
click_link
'Edit'
expect
(
page
).
to
have_content
(
'Home · Edit Page'
)
fill_in
:wiki_content
,
with:
'My awesome wiki!'
click_button
'Save changes'
expect
(
page
).
to
have_content
(
"Home · last edited by
#{
user
.
name
}
"
)
expect
(
page
).
to
have_content
(
'My awesome wiki!'
)
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录