node package manager
Stop writing boring code. Discover, share, and reuse within your team. Create a free org »

objectid-stub

objectid-stub

Create predictable MongoDB like ObjectIds for testing purposes.

NPM version Build status Dependency Status devDependency Status Coverage Status Code Climate

Under production, you can simply use the NodeJS MongoDB Native Driver ObjectID constructor, in your test òbjectid-stub makes new ObjectIds creation predictable.

Usage

var initObjectIdStub = require('objectid-stub');
var ObjectId = require('mongo/objectid');
var objectIdStub = initObjectIdStub();
 
objectIdStub();
// '570b570b570bffffffffffff' 
 
objectIdStub.next();
// '570b570b570bfffffffffffe' 
 
objectIdStub.next(3);
// '570b570b570bfffffffffffb' 
 
objectIdStub();
// '570b570b570bfffffffffffe' 
objectIdStub();
// '570b570b570bfffffffffffd' 
objectIdStub();
// '570b570b570bfffffffffffc' 
objectIdStub();
// '570b570b570bfffffffffffb' 
 
objectIdStub.reset();
 
objectIdStub();
// '570b570b570bffffffffffff' 
 
objectIdStub = initObjectIdStub({ ctor: ObjectId });
 
objectIdStub();
// ObjectID('570b570b570bffffffffffff') 

API Functions

_createObjectId(prefix, from, MyConstrutor)string | MyConstructor

Create an object id from the given number

objectIdStubInit(options)function

Instanciate a new object id generator

## _createObjectId(prefix, from, MyConstrutor) ⇒ string | MyConstructor Create an object id from the given number

Kind: global function
Returns: string | MyConstructor - The object id in a string/MyConstructor representation
Api: private

Param Type Description
prefix String 12 chars string to prefix the id with
from Number Number from wich to create the id
MyConstrutor function A constructor to build ObjectId instances (default to strings)

## objectIdStubInit(options) ⇒ function Instanciate a new object id generator

Kind: global function
Returns: function - The new generator
Api: public

Param Type Description
options Object Generator options
options.ctor function Allow to specify a custom constructor)
options.prefix String Allow to create object id with the given 12 chars prefix

### objectIdStubInit~getNextObjectId() ⇒ String Generate the next id

Kind: inner method of objectIdStubInit
Returns: String - The generated id
Api: public

#### getNextObjectId.next(n) ⇒ String Lookup what will be the next id

Kind: static method of getNextObjectId
Returns: String - The next id
Api: public

Param Type Description
n Number Number of ids to discard (defaults to 0)

#### getNextObjectId.reset() ⇒ void Reset the internal id

Kind: static method of getNextObjectId
Api: public