#GLOBAL._ = require 'lodash' # #require '../common' #AnalyticsUsersActive = require '../../../server/models/AnalyticsUsersActive' #LevelSession = require '../../../server/models/LevelSession' #User = require '../../../server/models/User' #mongoose = require 'mongoose' # ## TODO: these tests have some rerun/cleanup issues ## TODO: add tests for purchase, payment, subscribe, unsubscribe, and earned achievements # ## TODO: AnalyticsUsersActive collection isn't currently used. ## TODO: Will remove these tests if we end up ripping out the disabled saveActiveUser calls. # #describe 'Analytics', -> # # xit 'registered user', (done) -> # clearModels [AnalyticsUsersActive], (err) -> # expect(err).toBeNull() # user = new User # permissions: [] # name: "Fred" + Math.floor(Math.random() * 10000) # user.save (err) -> # expect(err).toBeNull() # userID = mongoose.Types.ObjectId(user.get('_id')) # AnalyticsUsersActive.find {creator : userID}, (err, activeUsers) -> # expect(activeUsers.length).toEqual(0) # user.register -> # AnalyticsUsersActive.find {creator : userID}, (err, activeUsers) -> # expect(err).toBeNull() # expect(activeUsers.length).toEqual(1) # expect(activeUsers[0]?.get('event')).toEqual('register') # done() # # xit 'level completed', (done) -> # clearModels [AnalyticsUsersActive], (err) -> # expect(err).toBeNull() # unittest.getNormalJoe (joe) -> # userID = mongoose.Types.ObjectId(joe.get('_id')) # session = new LevelSession # name: 'Beat Gandalf' # levelID: 'lotr' # permissions: simplePermissions # state: complete: false # creator: userID # session.save (err) -> # expect(err).toBeNull() # AnalyticsUsersActive.find {creator : userID}, (err, activeUsers) -> # expect(activeUsers.length).toEqual(0) # session.set 'state', complete: true # session.save (err) -> # expect(err).toBeNull() # AnalyticsUsersActive.find {creator : userID}, (err, activeUsers) -> # expect(err).toBeNull() # expect(activeUsers.length).toEqual(1) # expect(activeUsers[0]?.get('event')).toEqual('level-completed/lotr') # done() # # xit 'level playtime', (done) -> # clearModels [AnalyticsUsersActive], (err) -> # expect(err).toBeNull() # unittest.getNormalJoe (joe) -> # userID = mongoose.Types.ObjectId(joe.get('_id')) # session = new LevelSession # name: 'Beat Gandalf' # levelID: 'lotr' # permissions: simplePermissions # playtime: 60 # creator: userID # session.save (err) -> # expect(err).toBeNull() # AnalyticsUsersActive.find {creator : userID}, (err, activeUsers) -> # expect(err).toBeNull() # expect(activeUsers.length).toEqual(1) # expect(activeUsers[0]?.get('event')).toEqual('level-playtime/lotr') # done() #