chai-spies-decorators

0.0.7 • Public • Published

chai-spies-decorators

npm install chai-spies-decorators

Provides ES7 decorators interface for chai-spies, allowing to set execution contracts on class methods in a nice declarative way. Requires Mocha.

import 'chai-spies-decorators'
 
describe ('example', () => {
 
    it ('works', () => {
 
        const foo = new (class Foo {
 
            @will.have.been.called.with (42).once
            bar () { }
 
            @will.have.been.called.twice
            zap () { }
        })
 
        foo.bar (42)
        foo.zap (); foo.zap ()
    })
 
})

How it works

I've written an article on Medium explaining it: Wiring ES7 decorators to Chai Spies for declarative contracts on class methods: A metaprogramming case study.

Warning

It is not very well tested with asynchronous tests. Should work with Promises, but not with done callback (not implemented).

Dependencies (1)

Dev Dependencies (8)

Package Sidebar

Install

npm i chai-spies-decorators

Weekly Downloads

3

Version

0.0.7

License

Unlicense

Last publish

Collaborators

  • x84
  • xpl