Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
9806d879
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,发现更多精彩内容 >>
提交
9806d879
编写于
9月 19, 2016
作者:
C
Clement Ho
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add more tests for calendar contribution
上级
c8d92f95
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
101 addition
and
9 deletion
+101
-9
CHANGELOG
CHANGELOG
+1
-0
spec/features/calendar_spec.rb
spec/features/calendar_spec.rb
+100
-9
未找到文件。
CHANGELOG
浏览文件 @
9806d879
...
...
@@ -2,6 +2,7 @@ Please view this file on the master branch, on stable branches it's out of date.
v 8.13.0 (unreleased)
- Speed-up group milestones show page
- Add more tests for calendar contribution (ClemMakesApps)
- Fix robots.txt disallowing access to groups starting with "s" (Matt Harrison)
v 8.12.2 (unreleased)
...
...
spec/features/calendar_spec.rb
浏览文件 @
9806d879
...
...
@@ -5,13 +5,41 @@ feature 'Contributions Calendar', js: true, feature: true do
let
(
:contributed_project
)
{
create
(
:project
,
:public
)
}
before
do
login_as
:user
date_format
=
'%A %b %d, %Y'
issue_title
=
'Bug in old browser'
issue_params
=
{
title:
issue_title
}
def
get_cell_color_selector
(
contributions
)
contribution_cell
=
'.user-contrib-cell'
activity_colors
=
Array
[
'#ededed'
,
'#acd5f2'
,
'#7fa8c9'
,
'#527ba0'
,
'#254e77'
]
activity_colors_index
=
0
if
contributions
>
0
&&
contributions
<
10
activity_colors_index
=
1
elsif
contributions
>=
10
&&
contributions
<
20
activity_colors_index
=
2
elsif
contributions
>=
20
&&
contributions
<
30
activity_colors_index
=
3
elsif
contributions
>=
30
activity_colors_index
=
4
end
"
#{
contribution_cell
}
[fill='
#{
activity_colors
[
activity_colors_index
]
}
']"
end
def
get_cell_date_selector
(
contributions
,
date
)
contribution_text
=
'No contributions'
issue_params
=
{
title:
'Bug in old browser'
}
Issues
::
CreateService
.
new
(
contributed_project
,
@user
,
issue_params
).
execute
if
contributions
===
1
contribution_text
=
'1 contribution'
elsif
contributions
>
1
contribution_text
=
"
#{
contributions
}
contributions"
end
# Push code contribution
"
#{
get_cell_color_selector
(
contributions
)
}
[data-original-title='
#{
contribution_text
}
<br />
#{
date
}
']"
end
def
push_code_contribution
push_params
=
{
project:
contributed_project
,
action:
Event
::
PUSHED
,
...
...
@@ -20,7 +48,10 @@ feature 'Contributions Calendar', js: true, feature: true do
}
Event
.
create
(
push_params
)
end
before
do
login_as
:user
visit
@user
.
username
wait_for_ajax
end
...
...
@@ -29,11 +60,71 @@ feature 'Contributions Calendar', js: true, feature: true do
expect
(
page
).
to
have_css
(
'.js-contrib-calendar'
)
end
it
'displays calendar activity log'
,
js:
true
do
expect
(
find
(
'.content_list .event-note'
)).
to
have_content
"Bug in old browser"
describe
'1 calendar activity'
do
before
do
Issues
::
CreateService
.
new
(
contributed_project
,
@user
,
issue_params
).
execute
visit
@user
.
username
wait_for_ajax
end
it
'displays calendar activity log'
,
js:
true
do
expect
(
find
(
'.content_list .event-note'
)).
to
have_content
issue_title
end
it
'displays calendar activity square color for 1 contribution'
,
js:
true
do
expect
(
page
).
to
have_selector
(
get_cell_color_selector
(
1
),
count:
1
)
end
it
'displays calendar activity square on the correct date'
,
js:
true
do
today
=
Date
.
today
.
strftime
(
date_format
)
expect
(
page
).
to
have_selector
(
get_cell_date_selector
(
1
,
today
),
count:
1
)
end
end
describe
'10 calendar activities'
do
before
do
(
0
..
9
).
each
do
|
i
|
push_code_contribution
()
end
visit
@user
.
username
wait_for_ajax
end
it
'displays calendar activity square color for 10 contributions'
,
js:
true
do
expect
(
page
).
to
have_selector
(
get_cell_color_selector
(
10
),
count:
1
)
end
it
'displays calendar activity square on the correct date'
,
js:
true
do
today
=
Date
.
today
.
strftime
(
date_format
)
expect
(
page
).
to
have_selector
(
get_cell_date_selector
(
10
,
today
),
count:
1
)
end
end
it
'displays calendar activity square color'
,
js:
true
do
expect
(
page
).
to
have_selector
(
'.user-contrib-cell[fill=\'#acd5f2\']'
,
count:
1
)
describe
'calendar activity on two days'
do
before
do
push_code_contribution
()
Timecop
.
freeze
(
Date
.
yesterday
)
Issues
::
CreateService
.
new
(
contributed_project
,
@user
,
issue_params
).
execute
Timecop
.
return
visit
@user
.
username
wait_for_ajax
end
it
'displays calendar activity squares for both days'
,
js:
true
do
expect
(
page
).
to
have_selector
(
get_cell_color_selector
(
1
),
count:
2
)
end
it
'displays calendar activity square for yesterday'
,
js:
true
do
yesterday
=
Date
.
yesterday
.
strftime
(
date_format
)
expect
(
page
).
to
have_selector
(
get_cell_date_selector
(
1
,
yesterday
),
count:
1
)
end
it
'displays calendar activity square for today'
,
js:
true
do
today
=
Date
.
today
.
strftime
(
date_format
)
expect
(
page
).
to
have_selector
(
get_cell_date_selector
(
1
,
today
),
count:
1
)
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录