| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- "use strict";
- var assert = require("assert"),
- WhereMatchExpression = require("../../../../lib/pipeline/matcher/WhereMatchExpression");
- // Mongo supplied no integration tests with WhereMatchExpression
- module.exports = {
- "WhereMatchExpression": {
- "should run series of tests": function (){
- var e = new WhereMatchExpression();
- // MOCK UP MISSING INTEGRATION PIECES
- // TODO: After all the missing elements are implemented,
- // most mocks will not be necessary.
- e._userScope = {};
- e._scope= {};
- e._ns = "ns";
- e._code = "code";
- e._scope.invoke = function(){};
- e.getAuthorizationSession = function(){
- var result = {};
- result.getAuthenticatedUserNamesToken = function(){};
- return result;
- };
- e.getAuthorizationSession.getAuthenticatedUserNamesToken = function(){};
- e.globalScriptEngine = {};
- e.globalScriptEngine.getPooledScope = function(txn, dbName, userToken){
- var scope = {};
- scope.createFunction = function( code ){
- var result = {};
- return result;
- };
- scope.obj = {}
- scope.fullObject = false;
- scope.init = function( scope){
- return {};
- }
- scope.invoke = function( func, it, obj, time, bl){
- return 0;
- }
- return scope;
- };
- var theCode = {};
- theCode.c_str = function(){};
- var scope = {};
- scope.getOwned = function(){ return {};};
- var dbName = "eagle6";
- // Assert we can create
- var s = e.init(dbName,theCode,scope);
- assert.strictEqual(s.code, 'OK');
- // Assert we get debugString
- var debugString = e.debugString(0);
- assert.strictEqual(debugString.split("\n")[1], ' dbName: eagle6');
- // Assert equivalent
- var result = e.equivalent("NotEQ");
- assert.strictEqual(result, false);
- // Assert equivalent of unknown type
- var other = {};
- other._matchType = "SOME_UNKNOWN_TYPE";
- var result = e.equivalent(other);
- assert.strictEqual(result, false);
- // Assert equivalent of correct type but return false because objects don't match
- var other = {};
- other._matchType = "MATCH_WHERE";
- var result = e.equivalent(other);
- assert.strictEqual(result, false);
- // Assert equivalent of correct type
- var result = e.equivalent(e);
- assert.strictEqual(result, true);
- }
- }
- };
- if (!module.parent)(new(require("mocha"))()).ui("exports").reporter("spec").addFile(__filename).run(process.exit);
|