Package Exports
- wechaty-puppet-mock
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (wechaty-puppet-mock) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
PUPPET-MOCK

Picture Credit: https://softwareautotools.com/2017/03/01/mocking-explained-in-python/
Puppet Mocker & Starter Template for Wechaty, it is very useful when you:
- Want to test the Wechaty framework with a mock puppet, or
- You want to write your own Puppet implenmentation.
Then PuppetMock will helps you a lot.
USAGE
Puppet Mock
import { Wechaty } from 'wechaty'
import { PuppetMock } from 'wechaty-puppet-mock'
const puppet = new PuppetMock()
const wechaty = new Wechaty({ puppet })
wechaty.start()Mocker & Environment
import {
PuppetMock,
Mocker,
SimpleEnvironment,
} from 'wechaty-puppet-mock'
const mocker = new Mocker()
mocker.use(SimpleEnvironment())
const puppet = new PuppetMock({ mocker })
const wechaty = new Wechaty({ puppet })
wechaty.start()
// The Mocker will start perform the SimpleEnvironment...See: SimpleEnvironment
API Reference
Mocker
import { Wechaty } from 'wechaty'
import { PuppetMock, mock } from 'wechaty-puppet-mock'
const mocker = new mock.Mocker()
const puppet = new PuppetMock({ mocker })
const bot = new Wechaty({ puppet })
await bot.start()
mocker.scan('https://github.com/wechaty', 1)
const user = mocker.createContact()
mocker.login(user)
const contact = mocker.createContact()
const room = mocker.createRoom()
user.say('Hello').to(contact)
contact.say('World').to(user)HELPER UTILITIES
StateSwitch
this.state.on('pending')
this.state.on(true)
this.state.off('pending')
this.state.off(true)
await this.state.ready('on')
await this.state.ready('off')
Watchdog
MemoryCard
await memory.set('config', { id: 1, key: 'xxx' })
const config = await memory.get('config')
console.log(config)
// Output: { id: 1, key: 'xxx' }HISTORY
master
v0.25 (July 13, 2020)
- Rename
MockXXXtoXXXMockfor keep the consistent naming style withPuppetMock. - Export
mocknamespace and move all related modules under it.
v0.22 (June 4, 2020)
Mocker Released. Mocker is a manager for controlling the behavior of the Puppet activities.
- Add
MockContact,MockRoom, andMockMessageforMockers - Add
MockEnvironmentfor mocking the server behaviors. - Support
Wechaty#Contact.find()from themocker.createContacts() - Support
Wechaty#Room.find()from themocker.createRooms() - Support
messageevent fortalker,listener, androomofMockMessage
v0.0.1 (Jun 27, 2018)
Initial version.
PuppetMock is a skelton Puppet without do anything, it will make testing easy when developing Wechaty
AUTHOR
COPYRIGHT & LICENSE
- Code & Docs © 2018 Huan LI <zixia@zixia.net>
- Code released under the Apache-2.0 License
- Docs released under Creative Commons