Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
.Veneno.
wechaty
提交
fc503e11
W
wechaty
项目概览
.Veneno.
/
wechaty
与 Fork 源项目一致
Fork自
wechaty / wechaty
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
W
wechaty
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fc503e11
编写于
5月 02, 2018
作者:
Huan (李卓桓)
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
use sinon.sandbox for stub
上级
69762e17
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
21 addition
and
15 deletion
+21
-15
src/puppet-puppeteer/puppet-puppeteer.spec.ts
src/puppet-puppeteer/puppet-puppeteer.spec.ts
+7
-4
src/puppet-puppeteer/puppeteer-contact.spec.ts
src/puppet-puppeteer/puppeteer-contact.spec.ts
+14
-11
未找到文件。
src/puppet-puppeteer/puppet-puppeteer.spec.ts
浏览文件 @
fc503e11
...
...
@@ -58,15 +58,17 @@ test('Puppet smoke testing', async t => {
test
(
'
login/logout events
'
,
sinonTest
(
async
function
(
t
:
test
.
Test
)
{
sinon
.
stub
(
Contact
,
'
findAll
'
)
const
sandbox
=
sinon
.
sandbox
.
create
()
sandbox
.
stub
(
Contact
,
'
findAll
'
)
.
onFirstCall
().
resolves
([])
.
onSecondCall
().
resolves
([
1
])
.
resolves
([
1
,
2
])
s
inon
.
stub
(
Event
,
'
onScan
'
)
// block the scan event to prevent reset logined user
s
andbox
.
stub
(
Event
,
'
onScan
'
)
// block the scan event to prevent reset logined user
s
inon
.
stub
(
Bridge
.
prototype
,
'
getUserName
'
).
resolves
(
'
mockedUserName
'
)
s
inon
.
stub
(
PuppetPuppeteer
.
prototype
,
'
getContact
'
)
.
resolves
({
s
andbox
.
stub
(
Bridge
.
prototype
,
'
getUserName
'
).
resolves
(
'
mockedUserName
'
)
s
andbox
.
stub
(
PuppetPuppeteer
.
prototype
,
'
getContact
'
)
.
resolves
({
NickName
:
'
mockedNickName
'
,
UserName
:
'
mockedUserName
'
,
})
...
...
@@ -110,6 +112,7 @@ test('login/logout events', sinonTest(async function (t: test.Test) {
}
catch
(
e
)
{
t
.
fail
(
e
)
}
finally
{
sandbox
.
restore
()
t
.
end
()
}
}))
src/puppet-puppeteer/puppeteer-contact.spec.ts
浏览文件 @
fc503e11
...
...
@@ -24,18 +24,17 @@ import * as sinon from 'sinon'
import
cloneClass
from
'
clone-class
'
import
Profile
from
'
../profile
'
import
Wechaty
from
'
../wechaty
'
// `Wechaty` need to be imported before `Puppet`
import
PuppetPuppeteer
from
'
./puppet-puppeteer
'
import
PuppeteerContact
from
'
./puppeteer-contact
'
import
Profile
from
'
../profile
'
import
Wechaty
from
'
../wechaty
'
test
(
'
Contact smoke testing
'
,
async
t
=>
{
// tslint:disable-next-line:variable-name
const
MyContact
=
cloneClass
(
PuppeteerContact
)
MyContact
.
puppet
=
new
PuppetPuppeteer
({
const
puppet
=
new
PuppetPuppeteer
({
profile
:
new
Profile
(),
wechaty
:
new
Wechaty
(),
})
...
...
@@ -45,19 +44,24 @@ test('Contact smoke testing', async t => {
const
NickName
=
'
NickNameTest
'
const
RemarkName
=
'
AliasTest
'
sinon
.
stub
((
MyContact
.
puppet
as
PuppetPuppeteer
),
'
getContact
'
,
function
(
id
:
string
)
{
const
sandbox
=
sinon
.
sandbox
.
create
()
sandbox
.
stub
(
puppet
,
'
getContact
'
)
.
callsFake
(
function
(
id
:
string
)
{
return
new
Promise
<
any
>
((
resolve
,
reject
)
=>
{
if
(
id
!==
UserName
)
return
resolve
({})
setTimeout
(()
=>
{
return
resolve
({
UserName
:
UserName
,
NickName
:
NickName
,
UserName
:
UserName
,
NickName
:
NickName
,
RemarkName
:
RemarkName
,
})
},
20
0
)
},
1
0
)
})
})
MyContact
.
puppet
=
puppet
const
c
=
new
MyContact
(
UserName
)
t
.
is
(
c
.
id
,
UserName
,
'
id/UserName right
'
)
...
...
@@ -66,8 +70,7 @@ test('Contact smoke testing', async t => {
t
.
is
(
r
.
name
(),
NickName
,
'
NickName set
'
)
t
.
is
(
r
.
alias
(),
RemarkName
,
'
should get the right alias from Contact
'
)
const
s
=
r
.
toString
()
t
.
is
(
typeof
s
,
'
string
'
,
'
toString()
'
)
sandbox
.
restore
()
// const contact1 = await Contact.find({name: 'NickNameTest'})
// t.is(contact1.id, UserName, 'should find contact by name')
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录