Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
c0827455
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,发现更多精彩内容 >>
提交
c0827455
编写于
5月 25, 2018
作者:
G
Grzegorz Bizon
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add specs for stage detailed status and warnings
上级
887818d3
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
103 addition
and
1 deletion
+103
-1
spec/models/ci/stage_spec.rb
spec/models/ci/stage_spec.rb
+103
-1
未找到文件。
spec/models/ci/stage_spec.rb
浏览文件 @
c0827455
...
...
@@ -112,7 +112,71 @@ describe Ci::Stage, :models do
end
end
describe
'#index'
do
describe
'#detailed_status'
do
using
RSpec
::
Parameterized
::
TableSyntax
let
(
:user
)
{
create
(
:user
)
}
let
(
:stage
)
{
create
(
:ci_stage_entity
,
status: :created
)
}
subject
{
stage
.
detailed_status
(
user
)
}
where
(
:statuses
,
:label
)
do
%w[created]
|
:created
%w[success]
|
:passed
%w[pending]
|
:pending
%w[skipped]
|
:skipped
%w[canceled]
|
:canceled
%w[success failed]
|
:failed
%w[running pending]
|
:running
end
with_them
do
before
do
statuses
.
each
do
|
status
|
create
(
:commit_status
,
project:
stage
.
project
,
pipeline:
stage
.
pipeline
,
stage_id:
stage
.
id
,
status:
status
)
stage
.
update_status
end
end
it
'has a correct label'
do
expect
(
subject
.
label
).
to
eq
label
.
to_s
end
end
context
'when stage has warnings'
do
before
do
create
(
:ci_build
,
project:
stage
.
project
,
pipeline:
stage
.
pipeline
,
stage_id:
stage
.
id
,
status: :failed
,
allow_failure:
true
)
stage
.
update_status
end
it
'is passed with warnings'
do
expect
(
subject
.
label
).
to
eq
'passed with warnings'
end
end
end
describe
'#groups'
do
before
do
create
(
:ci_build
,
stage_id:
stage
.
id
,
name:
'rspec 0 1'
)
create
(
:ci_build
,
stage_id:
stage
.
id
,
name:
'rspec 0 2'
)
end
it
'groups stage builds by name'
do
expect
(
stage
.
groups
).
to
be_one
expect
(
stage
.
groups
.
first
.
name
).
to
eq
'rspec'
end
end
describe
'#position'
do
context
'when stage has been imported and does not have position index set'
do
before
do
stage
.
update_column
(
:position
,
nil
)
...
...
@@ -143,4 +207,42 @@ describe Ci::Stage, :models do
end
end
end
context
'when stage has warnings'
do
before
do
create
(
:ci_build
,
:failed
,
:allowed_to_fail
,
stage_id:
stage
.
id
)
end
describe
'#has_warnings?'
do
it
'returns true'
do
expect
(
stage
).
to
have_warnings
end
end
describe
'#number_of_warnings'
do
it
'returns a lazy stage warnings counter'
do
lazy_queries
=
ActiveRecord
::
QueryRecorder
.
new
do
stage
.
number_of_warnings
end
synced_queries
=
ActiveRecord
::
QueryRecorder
.
new
do
stage
.
number_of_warnings
.
to_i
end
expect
(
lazy_queries
.
count
).
to
eq
0
expect
(
synced_queries
.
count
).
to
eq
1
expect
(
stage
.
number_of_warnings
.
inspect
).
to
include
'BatchLoader'
expect
(
stage
.
number_of_warnings
).
to
eq
1
end
end
end
context
'when stage does not have warnings'
do
describe
'#has_warnings?'
do
it
'returns false'
do
expect
(
stage
).
not_to
have_warnings
end
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录