 	# 				op: "mock-op-2"
 	# 			}]
 
-	# describe "_summarizeUpdates", ->
-	# 	beforeEach ->
-	# 		@now = Date.now()
-	# 		@user_1 = { id: "mock-user-1" }
-	# 		@user_2 = { id: "mock-user-2" }
-
-	# 	it "should concat updates that are close in time", ->
-	# 		result = @UpdatesManager._summarizeUpdates [{
-	# 			doc_id: "doc-id-1"
-	# 			meta:
-	# 				user: @user_1
-	# 				start_ts: @now + 20
-	# 				end_ts:   @now + 30
-	# 			v: 5
-	# 		}, {
-	# 			doc_id: "doc-id-1"
-	# 			meta:
-	# 				user: @user_2
-	# 				start_ts: @now
-	# 				end_ts:   @now + 10
-	# 			v: 4
-	# 		}]
-
-	# 		expect(result).to.deep.equal [{
-	# 			docs:
-	# 				"doc-id-1":
-	# 					fromV: 4
-	# 					toV: 5
-	# 			meta:
-	# 				users: [@user_1, @user_2]
-	# 				start_ts: @now
-	# 				end_ts:   @now + 30
-	# 		}]
-
-	# 	it "should leave updates that are far apart in time", ->
-	# 		oneDay = 1000 * 60 * 60 * 24
-	# 		result = @UpdatesManager._summarizeUpdates [{
-	# 			doc_id: "doc-id-1"
-	# 			meta:
-	# 				user: @user_2
-	# 				start_ts: @now + oneDay
-	# 				end_ts:   @now + oneDay + 10
-	# 			v: 5
-	# 		}, {
-	# 			doc_id: "doc-id-1"
-	# 			meta:
-	# 				user: @user_1
-	# 				start_ts: @now
-	# 				end_ts:   @now + 10
-	# 			v: 4
-	# 		}]
-	# 		expect(result).to.deep.equal [{
-	# 			docs:
-	# 				"doc-id-1":
-	# 					fromV: 5
-	# 					toV: 5
-	# 			meta:
-	# 				users: [@user_2]
-	# 				start_ts: @now + oneDay
-	# 				end_ts:   @now + oneDay + 10
-	# 		}, {
-	# 			docs:
-	# 				"doc-id-1":
-	# 					fromV: 4
-	# 					toV: 4
-	# 			meta:
-	# 				users: [@user_1]
-	# 				start_ts: @now
-	# 				end_ts:   @now + 10
-	# 		}]
-
-	# 	it "should concat onto existing summarized updates", ->
-	# 		result = @UpdatesManager._summarizeUpdates [{
-	# 			doc_id: "doc-id-2"
-	# 			meta:
-	# 				user: @user_1
-	# 				start_ts: @now + 20
-	# 				end_ts:   @now + 30
-	# 			v: 5
-	# 		}, {
-	# 			doc_id: "doc-id-2"
-	# 			meta:
-	# 				user: @user_2
-	# 				start_ts: @now
-	# 				end_ts:   @now + 10
-	# 			v: 4
-	# 		}], [{
-	# 			docs: 
-	# 				"doc-id-1": 
-	# 					fromV: 6
-	# 					toV: 8
-	# 			meta:
-	# 				users: [@user_1]
-	# 				start_ts: @now + 40
-	# 				end_ts:   @now + 50
-	# 		}]
-	# 		expect(result).to.deep.equal [{
-	# 			docs:
-	# 				"doc-id-1":
-	# 					toV: 8
-	# 					fromV: 6
-	# 				"doc-id-2":
-	# 					toV: 5
-	# 					fromV: 4
-	# 			meta:
-	# 				users: [@user_1, @user_2]
-	# 				start_ts: @now
-	# 				end_ts:   @now + 50
-	# 		}]
-
-	# 	it "should include null user values", ->
-	# 		result = @UpdatesManager._summarizeUpdates [{
-	# 			doc_id: "doc-id-1"
-	# 			meta:
-	# 				user: @user_1
-	# 				start_ts: @now + 20
-	# 				end_ts:   @now + 30
-	# 			v: 5
-	# 		}, {
-	# 			doc_id: "doc-id-1"
-	# 			meta:
-	# 				user: null
-	# 				start_ts: @now
-	# 				end_ts:   @now + 10
-	# 			v: 4
-	# 		}]
-	# 		expect(result).to.deep.equal [{
-	# 			docs:
-	# 				"doc-id-1":
-	# 					fromV: 4
-	# 					toV: 5
-	# 			meta:
-	# 				users: [@user_1, null]
-	# 				start_ts: @now
-	# 				end_ts:   @now + 30
-	# 		}]
-
-	# 	it "should include null user values, when the null is earlier in the updates list", ->
-	# 		result = @UpdatesManager._summarizeUpdates [{
-	# 			doc_id: "doc-id-1"
-	# 			meta:
-	# 				user: null
-	# 				start_ts: @now
-	# 				end_ts:   @now + 10
-	# 			v: 4
-	# 		}, {
-	# 			doc_id: "doc-id-1"
-	# 			meta:
-	# 				user: @user_1
-	# 				start_ts: @now + 20
-	# 				end_ts:   @now + 30
-	# 			v: 5
-	# 		}]
-	# 		expect(result).to.deep.equal [{
-	# 			docs:
-	# 				"doc-id-1":
-	# 					fromV: 4
-	# 					toV: 5
-	# 			meta:
-	# 				users: [null, @user_1]
-	# 				start_ts: @now
-	# 				end_ts:   @now + 30
-	# 		}]
-
-	# 	it "should roll several null user values into one", ->
-	# 		result = @UpdatesManager._summarizeUpdates [{
-	# 			doc_id: "doc-id-1"
-	# 			meta:
-	# 				user: @user_1
-	# 				start_ts: @now + 20
-	# 				end_ts:   @now + 30
-	# 			v: 5
-	# 		}, {
-	# 			doc_id: "doc-id-1"
-	# 			meta:
-	# 				user: null
-	# 				start_ts: @now
-	# 				end_ts:   @now + 10
-	# 			v: 4
-	# 		}, {
-	# 			doc_id: "doc-id-1"
-	# 			meta:
-	# 				user: null
-	# 				start_ts: @now + 2
-	# 				end_ts:   @now + 4
-	# 			v: 4
-	# 		}]
-	# 		expect(result).to.deep.equal [{
-	# 			docs:
-	# 				"doc-id-1":
-	# 					fromV: 4
-	# 					toV: 5
-	# 			meta:
-	# 				users: [@user_1, null]
-	# 				start_ts: @now
-	# 				end_ts:   @now + 30
-	# 		}]
+	describe "_summarizeUpdates", ->
+		beforeEach ->
+			@now = Date.now()
+			@user_1 = { id: "mock-user-1" }
+			@user_2 = { id: "mock-user-2" }
+
+		it "should concat updates that are close in time", ->
+			result = @UpdatesManager._summarizeUpdates [{
+				doc_id: "doc-id-1"
+				meta:
+					user_id: @user_1.id
+					start_ts: @now + 20
+					end_ts:   @now + 30
+				v: 5
+			}, {
+				doc_id: "doc-id-1"
+				meta:
+					user_id: @user_2.id
+					start_ts: @now
+					end_ts:   @now + 10
+				v: 4
+			}]
+
+			expect(result).to.deep.equal [{
+				docs:
+					"doc-id-1":
+						fromV: 4
+						toV: 5
+				meta:
+					user_ids: [@user_1.id, @user_2.id]
+					start_ts: @now
+					end_ts:   @now + 30
+			}]
+
+		it "should leave updates that are far apart in time", ->
+			oneDay = 1000 * 60 * 60 * 24
+			result = @UpdatesManager._summarizeUpdates [{
+				doc_id: "doc-id-1"
+				meta:
+					user_id: @user_2.id
+					start_ts: @now + oneDay
+					end_ts:   @now + oneDay + 10
+				v: 5
+			}, {
+				doc_id: "doc-id-1"
+				meta:
+					user_id: @user_1.id
+					start_ts: @now
+					end_ts:   @now + 10
+				v: 4
+			}]
+			expect(result).to.deep.equal [{
+				docs:
+					"doc-id-1":
+						fromV: 5
+						toV: 5
+				meta:
+					user_ids: [@user_2.id]
+					start_ts: @now + oneDay
+					end_ts:   @now + oneDay + 10
+			}, {
+				docs:
+					"doc-id-1":
+						fromV: 4
+						toV: 4
+				meta:
+					user_ids: [@user_1.id]
+					start_ts: @now
+					end_ts:   @now + 10
+			}]
+
+		it "should concat onto existing summarized updates", ->
+			result = @UpdatesManager._summarizeUpdates [{
+				doc_id: "doc-id-2"
+				meta:
+					user_id: @user_1.id
+					start_ts: @now + 20
+					end_ts:   @now + 30
+				v: 5
+			}, {
+				doc_id: "doc-id-2"
+				meta:
+					user_id: @user_2.id
+					start_ts: @now
+					end_ts:   @now + 10
+				v: 4
+			}], [{
+				docs: 
+					"doc-id-1": 
+						fromV: 6
+						toV: 8
+				meta:
+					user_ids: [@user_1.id]
+					start_ts: @now + 40
+					end_ts:   @now + 50
+			}]
+			expect(result).to.deep.equal [{
+				docs:
+					"doc-id-1":
+						toV: 8
+						fromV: 6
+					"doc-id-2":
+						toV: 5
+						fromV: 4
+				meta:
+					user_ids: [@user_1.id, @user_2.id]
+					start_ts: @now
+					end_ts:   @now + 50
+			}]
+
+		it "should include null user values", ->
+			result = @UpdatesManager._summarizeUpdates [{
+				doc_id: "doc-id-1"
+				meta:
+					user_id: @user_1.id
+					start_ts: @now + 20
+					end_ts:   @now + 30
+				v: 5
+			}, {
+				doc_id: "doc-id-1"
+				meta:
+					user_id: null
+					start_ts: @now
+					end_ts:   @now + 10
+				v: 4
+			}]
+			expect(result).to.deep.equal [{
+				docs:
+					"doc-id-1":
+						fromV: 4
+						toV: 5
+				meta:
+					user_ids: [@user_1.id, null]
+					start_ts: @now
+					end_ts:   @now + 30
+			}]
+
+		it "should include null user values, when the null is earlier in the updates list", ->
+			result = @UpdatesManager._summarizeUpdates [{
+				doc_id: "doc-id-1"
+				meta:
+					user_id: null
+					start_ts: @now
+					end_ts:   @now + 10
+				v: 4
+			}, {
+				doc_id: "doc-id-1"
+				meta:
+					user_id: @user_1.id
+					start_ts: @now + 20
+					end_ts:   @now + 30
+				v: 5
+			}]
+			expect(result).to.deep.equal [{
+				docs:
+					"doc-id-1":
+						fromV: 4
+						toV: 5
+				meta:
+					user_ids: [null, @user_1.id]
+					start_ts: @now
+					end_ts:   @now + 30
+			}]
+
+		it "should roll several null user values into one", ->
+			result = @UpdatesManager._summarizeUpdates [{
+				doc_id: "doc-id-1"
+				meta:
+					user_id: @user_1.id
+					start_ts: @now + 20
+					end_ts:   @now + 30
+				v: 5
+			}, {
+				doc_id: "doc-id-1"
+				meta:
+					user_id: null
+					start_ts: @now
+					end_ts:   @now + 10
+				v: 4
+			}, {
+				doc_id: "doc-id-1"
+				meta:
+					user_id: null
+					start_ts: @now + 2
+					end_ts:   @now + 4
+				v: 4
+			}]
+			expect(result).to.deep.equal [{
+				docs:
+					"doc-id-1":
+						fromV: 4
+						toV: 5
+				meta:
+					user_ids: [@user_1.id, null]
+					start_ts: @now
+					end_ts:   @now + 30
+			}]

		it "should call the callback", ->
			@callback.called.should.equal true

	# describe "getDocUpdates", ->
	# 	beforeEach ->
	# 		@updates = ["mock-updates"]
	# 		@options = { to: "mock-to", limit: "mock-limit" }
	# 		@MongoManager.getDocUpdates = sinon.stub().callsArgWith(2, null, @updates)
	# 		@UpdatesManager.processUncompressedUpdatesWithLock = sinon.stub().callsArg(2)
	# 		@UpdatesManager.getDocUpdates @project_id, @doc_id, @options, @callback

	# 	it "should process outstanding updates", ->
	# 		@UpdatesManager.processUncompressedUpdatesWithLock
	# 			.calledWith(@project_id, @doc_id)
	# 			.should.equal true

	# 	it "should get the updates from the database", ->
	# 		@MongoManager.getDocUpdates
	# 			.calledWith(@doc_id, @options)
	# 			.should.equal true

	# 	it "should return the updates", ->
	# 		@callback
	# 			.calledWith(null, @updates)
	# 			.should.equal true

	# describe "getDocUpdatesWithUserInfo", ->
	# 	beforeEach ->
	# 		@updates = ["mock-updates"]
	# 		@options = { to: "mock-to", limit: "mock-limit" }
	# 		@updatesWithUserInfo = ["updates-with-user-info"]
	# 		@UpdatesManager.getDocUpdates = sinon.stub().callsArgWith(3, null, @updates)
	# 		@UpdatesManager.fillUserInfo = sinon.stub().callsArgWith(1, null, @updatesWithUserInfo)
	# 		@UpdatesManager.getDocUpdatesWithUserInfo @project_id, @doc_id, @options, @callback

	# 	it "should get the updates", ->
	# 		@UpdatesManager.getDocUpdates
	# 			.calledWith(@project_id, @doc_id, @options)
	# 			.should.equal true

	# 	it "should file the updates with the user info", ->
	# 		@UpdatesManager.fillUserInfo
	# 			.calledWith(@updates)
	# 			.should.equal true

	# 	it "should return the updates with the filled details", ->
	# 		@callback.calledWith(null, @updatesWithUserInfo).should.equal true

	# describe "getProjectUpdates", ->
	# 	beforeEach ->

	# 			.calledWith(null, @updates)
	# 			.should.equal true


	# describe "getProjectUpdatesWithUserInfo", ->
	# 	beforeEach ->
