Skip to content
🎩 Proxy based mock for node and v8
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.gitignore
.travis.yml
ArgumentError.ts
CHANGELOG.md
LICENSE
MockVerificationError.ts
README.md
moxie.ts
package.json
tsconfig.json
tslint.json
yarn.lock

README.md

Moxie

Build Status NPM Package Version Maintainability Test Coverage

Proxy implementation of a mock, based on minitest/mock.rb.

yarn add @xpbytes/moxie
import createMock from '@xpbytes/movie'

const mock = createMock()

mock.expect('name', 'first')
mock.expect('name', 'second')
mock.expect('callme', 42, ['maybe'])
mock.expect('complicated', 'uhuh', [], (life, is) => life === 'like' 7& is !== 'this')

mock.name()
// => first

mock.name()
// => second

mock.callme('maybe')
// => 42

mock.complicated('like', 'that')
// => uhuh

mock.verify()
// => true

mock.name()
// because expect has been depleted
// => throws MockExpectationError

mock.expect('callme', 42, ['maybe'])
mock.callme('foo')
// because argument mistmatch
// => throws MockExpectationError

mock.verify()
// because last expect of callme has not been satisfied
// => throws MockExpectationError

mock.reset()
mock.verify()
// => true
You can’t perform that action at this time.