Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
9d3042d0
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9d3042d0
编写于
1月 23, 2015
作者:
R
Richard Manyanza
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix ActiveJob assertions with a GlobalID object argument
上级
139c232b
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
51 addition
and
2 deletion
+51
-2
activejob/lib/active_job/test_helper.rb
activejob/lib/active_job/test_helper.rb
+12
-2
activejob/test/cases/test_helper_test.rb
activejob/test/cases/test_helper_test.rb
+39
-0
未找到文件。
activejob/lib/active_job/test_helper.rb
浏览文件 @
9d3042d0
...
@@ -175,9 +175,10 @@ def assert_enqueued_with(args = {}, &_block)
...
@@ -175,9 +175,10 @@ def assert_enqueued_with(args = {}, &_block)
original_enqueued_jobs
=
enqueued_jobs
.
dup
original_enqueued_jobs
=
enqueued_jobs
.
dup
clear_enqueued_jobs
clear_enqueued_jobs
args
.
assert_valid_keys
(
:job
,
:args
,
:at
,
:queue
)
args
.
assert_valid_keys
(
:job
,
:args
,
:at
,
:queue
)
serialized_args
=
serialize_args_for_assertion
(
args
)
yield
yield
matching_job
=
enqueued_jobs
.
any?
do
|
job
|
matching_job
=
enqueued_jobs
.
any?
do
|
job
|
args
.
all?
{
|
key
,
value
|
value
==
job
[
key
]
}
serialized_
args
.
all?
{
|
key
,
value
|
value
==
job
[
key
]
}
end
end
assert
matching_job
,
"No enqueued job found with
#{
args
}
"
assert
matching_job
,
"No enqueued job found with
#{
args
}
"
ensure
ensure
...
@@ -195,9 +196,10 @@ def assert_performed_with(args = {}, &_block)
...
@@ -195,9 +196,10 @@ def assert_performed_with(args = {}, &_block)
original_performed_jobs
=
performed_jobs
.
dup
original_performed_jobs
=
performed_jobs
.
dup
clear_performed_jobs
clear_performed_jobs
args
.
assert_valid_keys
(
:job
,
:args
,
:at
,
:queue
)
args
.
assert_valid_keys
(
:job
,
:args
,
:at
,
:queue
)
serialized_args
=
serialize_args_for_assertion
(
args
)
perform_enqueued_jobs
{
yield
}
perform_enqueued_jobs
{
yield
}
matching_job
=
performed_jobs
.
any?
do
|
job
|
matching_job
=
performed_jobs
.
any?
do
|
job
|
args
.
all?
{
|
key
,
value
|
value
==
job
[
key
]
}
serialized_
args
.
all?
{
|
key
,
value
|
value
==
job
[
key
]
}
end
end
assert
matching_job
,
"No performed job found with
#{
args
}
"
assert
matching_job
,
"No performed job found with
#{
args
}
"
ensure
ensure
...
@@ -239,6 +241,14 @@ def enqueued_jobs_size(only: nil)
...
@@ -239,6 +241,14 @@ def enqueued_jobs_size(only: nil)
enqueued_jobs
.
size
enqueued_jobs
.
size
end
end
end
end
def
serialize_args_for_assertion
(
args
)
serialized_args
=
args
.
dup
if
job_args
=
serialized_args
.
delete
(
:args
)
serialized_args
[
:args
]
=
ActiveJob
::
Arguments
.
serialize
(
job_args
)
end
serialized_args
end
end
end
end
end
end
end
activejob/test/cases/test_helper_test.rb
浏览文件 @
9d3042d0
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
require
'jobs/hello_job'
require
'jobs/hello_job'
require
'jobs/logging_job'
require
'jobs/logging_job'
require
'jobs/nested_job'
require
'jobs/nested_job'
require
'models/person'
class
EnqueuedJobsTest
<
ActiveJob
::
TestCase
class
EnqueuedJobsTest
<
ActiveJob
::
TestCase
def
test_assert_enqueued_jobs
def
test_assert_enqueued_jobs
...
@@ -175,6 +176,25 @@ def test_assert_enqueued_job_args
...
@@ -175,6 +176,25 @@ def test_assert_enqueued_job_args
end
end
end
end
end
end
def
test_assert_enqueued_job_with_global_id_args
ricardo
=
Person
.
new
(
9
)
assert_enqueued_with
(
job:
HelloJob
,
args:
[
ricardo
])
do
HelloJob
.
perform_later
(
ricardo
)
end
end
def
test_assert_enqueued_job_failure_with_global_id_args
ricardo
=
Person
.
new
(
9
)
wilma
=
Person
.
new
(
11
)
error
=
assert_raise
ActiveSupport
::
TestCase
::
Assertion
do
assert_enqueued_with
(
job:
HelloJob
,
args:
[
wilma
])
do
HelloJob
.
perform_later
(
ricardo
)
end
end
assert_equal
"No enqueued job found with {:job=>HelloJob, :args=>[
#{
wilma
.
inspect
}
]}"
,
error
.
message
end
end
end
class
PerformedJobsTest
<
ActiveJob
::
TestCase
class
PerformedJobsTest
<
ActiveJob
::
TestCase
...
@@ -282,4 +302,23 @@ def test_assert_performed_job_failure
...
@@ -282,4 +302,23 @@ def test_assert_performed_job_failure
end
end
end
end
end
end
def
test_assert_performed_job_with_global_id_args
ricardo
=
Person
.
new
(
9
)
assert_performed_with
(
job:
HelloJob
,
args:
[
ricardo
])
do
HelloJob
.
perform_later
(
ricardo
)
end
end
def
test_assert_performed_job_failure_with_global_id_args
ricardo
=
Person
.
new
(
9
)
wilma
=
Person
.
new
(
11
)
error
=
assert_raise
ActiveSupport
::
TestCase
::
Assertion
do
assert_performed_with
(
job:
HelloJob
,
args:
[
wilma
])
do
HelloJob
.
perform_later
(
ricardo
)
end
end
assert_equal
"No performed job found with {:job=>HelloJob, :args=>[
#{
wilma
.
inspect
}
]}"
,
error
.
message
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录