MockReduce
A mock for mongodbs/mongoose's mapReduce in order to achieve testability
Installation
npm install mock-reduce
Usage
var mockReduce = ;
So far I have only tested implementations with node for jasmine. Generally it should work with any other testing framework.
Using MockReduce with mongoose
var mongoose = ;var mockReduce = ; ;
See file spec/integration/mongoose-spec.js for an extended test example
Using mockReduce with with node-mongodb-native
Caution: This feature is still work in progress. Generally it should work, I haven't fully tested it yet
var mongodb = ;var mockReduce = ; ;
Available methods
MockReduce stores almost every step of a map reduce operation. Try one of the following methods:
mockReducemap;mockReducemap;mockReducereduce;
Supported methods
So far the following methods are supported:
- map
- reduce
- finalize
- scope
- done callback
Running MockReduce's own tests
MockReduce was completely developed test-driven. If you wish to run its own tests, clone the git repo and run
npm installnpm test
Changelog
0.1.0
- Security: Fix security vulnerabilities in mongoose and karma dependencies
- Change: Do not put MockReduce and all subclasses into global scope but instead use require
- Bugfix: Make sure index.js is required uncached in tests
- Update: Bump mongoose to version 5.7.10
- Update: Bump jasmine to version 3.5.0
0.0.5
- Bugfix: Don't break when connect is called without a callback
0.0.4
- Install does not break the original connector when running twice
0.0.3
- Fixed "window is not defined" issue
0.0.2
- MockReduce can now be used directly within node itself (PhantomJS not needed anymore)