Puppet Mocker for Wechaty (& A Puppet Template Starter)
APACHE-2.0 License
Picture Credit: https://softwareautotools.com/2017/03/01/mocking-explained-in-python/
Puppet Mocker & Starter Template for Wechaty, it is very useful when you:
Then PuppetMock
will helps you a lot.
import { Wechaty } from 'wechaty'
import { PuppetMock } from 'wechaty-puppet-mock'
const puppet = new PuppetMock()
const wechaty = new Wechaty({ puppet })
wechaty.start()
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
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)
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')
await memory.set('config', { id: 1, key: 'xxx' })
const config = await memory.get('config')
console.log(config)
// Output: { id: 1, key: 'xxx' }
Upgrade to Wechaty Puppet v1.18
Release v1.0 of Puppet Mock
MockXXX
to XXXMock
for keep the consistent naming style with PuppetMock
.mock
namespace and move all related modules under it.Mocker
Released. Mocker
is a manager for controlling the behavior of the Puppet activities.
MockContact
, MockRoom
, and MockMessage
for Mockers
MockEnvironment
for mocking the server behaviors.Wechaty#Contact.find()
from the mocker.createContacts()
Wechaty#Room.find()
from the mocker.createRooms()
message
event for talker
, listener
, and room
of MockMessage
Initial version.
PuppetMock
is a skelton Puppet without do anything, it will make testing easy when developing Wechaty