UNPKG

water-orm

Version:

A monolith version of Standalone waterline ORM

69 lines (56 loc) 1.88 kB
var assert = require('assert'), _ = require('lodash'); describe('Queryable Interface', function() { describe('MAX Query Modifier', function() { ///////////////////////////////////////////////////// // TEST SETUP //////////////////////////////////////////////////// before(function(done) { // Insert 10 Users var users = [], date; for(var i=0; i<10; i++) { users.push({ first_name: 'max_user' + i, type: 'max test', age: i + 9001, percent: i/2 + 9001 }); } Queryable.User.createEach(users, function(err, users) { if(err) return done(err); done(); }); }); ///////////////////////////////////////////////////// // TEST METHODS //////////////////////////////////////////////////// it('should get the maximum of the key', function(done) { Queryable.User.find({where:{type: 'max test'}, max: ['age'] }, function(err, summed) { assert.ifError(err); assert.strictEqual(summed[0].age, 9010); done(); }); }); it('should max multiple keys', function(done) { Queryable.User.find({where:{type: 'max test'}, max: ['age', 'percent'] }, function(err, summed) { assert.ifError(err); assert.strictEqual(summed[0].age, 9010); assert.strictEqual(summed[0].percent, 9005.5); done(); }); }); it('should max and average', function(done) { Queryable.User.find({ where:{type: 'max test'}, max: ['age'], average: ['percent'] }, function(err, summed) { assert.ifError(err); assert.strictEqual(summed[0].age, 9010); assert.strictEqual(summed[0].percent, 9003.25); done(); }); }); }); });