banana-split
Version:
Split testing for Node.js and MongoDB
58 lines (47 loc) • 1.56 kB
JavaScript
;
var mongoose = require('mongoose');
var async = require('async');
var _ = require('underscore');
var Banana = require('./lib/Banana');
var utils = require('./lib/utils');
var db, // fake mockgoose database
banana; // banana instance
db = mongoose.createConnection("mongodb://localhost:27017/banana");
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function () {
banana = Banana({db: db, mongoose: mongoose});
var eventList = 'signup upgraded translate flashcardRecall uploadText phraseLimit'.split(' ');
console.time('getall');
console.log('getting all participants:');
banana.cumulativeConversionRateOverRange({
//banana.conversionRateOverRange({
experiment: 'yearlyOnly',
variation: 'off',
event: 'translate',
startDay: new Date(2015, 1, 10),
endDay: new Date(2015, 2, 17),
cumulative: true
}, function (err, result) {
console.log('got result: ', result);
console.timeEnd('getall');
});
/*
banana.getResults2({
experiment: 'yearlyOnly',
event: 'phraseLimit',
cumulative: true
}, function (err, result) {
console.log('cumulative');
console.log('----------');
_.each(result, function (variation) {
console.log(variation.variation, ':', variation.result.cumulative);
});
console.log('dailies');
console.log('-------');
_.each(result, function (variation) {
console.log(variation.variation, ':', variation.result.dailies);
});
console.timeEnd('getall');
});
*/
});