Miss any of our Open RFC calls?Watch the recordings here! »

wechaty-puppet-mock

0.22.41 • Public • Published

PUPPET-MOCK

NPM Version npm (tag) NPM

chatie puppet

Picture Credit: https://softwareautotools.com/2017/03/01/mocking-explained-in-python/

Powered by Wechaty TypeScript

Puppet Mocker & Starter Template for Wechaty, it is very useful when you:

  1. Want to test the Wechaty framework with a mock puppet, or
  2. 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 { Mocker, PuppetMock }   from 'wechaty-puppet-mock'
 
const mocker = new 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.22 (Jun 4, 2020)

Mocker Released. Mocker is a manager for controlling the behavior of the Puppet activities.

  1. Add MockContact, MockRoom, and MockMessage for Mockers
  2. Add MockEnvironment for mocking the server behaviors.
  3. Support Wechaty#Contact.find() from the mocker.createContacts()
  4. Support Wechaty#Room.find() from the mocker.createRooms()
  5. Support message event for talker, listener, and room of MockMessage

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

Huan LI <zixia@zixia.net>

profile for zixia on Stack Exchange, a network of free, community-driven Q&A sites

COPYRIGHT & LICENSE

  • Code & Docs © 2018 Huan LI <zixia@zixia.net>
  • Code released under the Apache-2.0 License
  • Docs released under Creative Commons

Install

npm i wechaty-puppet-mock

DownloadsWeekly Downloads

1,774

Version

0.22.41

License

Apache-2.0

Unpacked Size

266 kB

Total Files

105

Last publish

Collaborators

  • avatar