Просмотр исходного кода

bonus allocater does not need to check if user has subscription any more.

Henry Oswald 11 лет назад
Родитель
Сommit
b69ec9768d

+ 8 - 20
services/web/app/coffee/Features/Referal/ReferalAllocator.coffee

@@ -32,27 +32,15 @@ module.exports = ReferalAllocator =
 
 
 	assignBonus: (user_id, callback = (error) ->) ->
-		SubscriptionLocator.getUsersSubscription user_id, (error, subscription) ->
-			return callback(error) if error?
-			logger.log
-				subscription: subscription,
-				user_id: user_id,
-				"checking user doesn't have a subsciption before assigning bonus"
-			if !subscription? or !subscription.planCode?
-				query = _id: user_id
-				User.findOne query, (error, user) ->
-					return callback(error) if error
-					return callback(new Error("user not found")) if !user?
-					logger.log
-						user_id: user_id,
-						refered_user_count: user.refered_user_count,
-						"assigning bonus"
-					if user.refered_user_count? and user.refered_user_count > 0
-						newFeatures = ReferalAllocator._calculateBonuses(user)
-						User.update query, { $set: features: newFeatures }, callback
+		query = _id: user_id
+		User.findOne query, (error, user) ->
+			return callback(error) if error
+			return callback(new Error("user not found")) if !user?
+			logger.log user_id: user_id, refered_user_count: user.refered_user_count, "assigning bonus"
+			if user.refered_user_count? and user.refered_user_count > 0
+				newFeatures = ReferalAllocator._calculateBonuses(user)
+				User.update query, { $set: features: newFeatures }, callback
 
-					else
-						callback()
 			else
 				callback()
 		

+ 2 - 86
services/web/test/UnitTests/coffee/Referal/ReferalAllocatorTests.coffee

@@ -4,7 +4,7 @@ require('chai').should()
 sinon = require('sinon')
 modulePath = require('path').join __dirname, '../../../../app/js/Features/Referal/ReferalAllocator.js'
 
-describe 'Referal allocator', ->
+describe 'Referalallocator', ->
 
 	beforeEach ->
 		@ReferalAllocator = SandboxedModule.require modulePath, requires:
@@ -75,7 +75,6 @@ describe 'Referal allocator', ->
 				@callback.called.should.equal true
 
 	describe "assignBonus", ->
-		describe "when user does not have a subscription", ->
 			beforeEach ->
 				@refered_user_count = 3
 				@Settings.bonus_features =
@@ -90,14 +89,8 @@ describe 'Referal allocator', ->
 
 				@User.findOne = sinon.stub().callsArgWith 1, null,stubbedUser
 				@User.update = sinon.stub().callsArgWith 2, null
-				@SubscriptionLocator.getUsersSubscription = sinon.stub().callsArgWith 1, null, null
 				@ReferalAllocator.assignBonus @user_id, @callback
 
-			it "should get the users subscription", ->
-				@SubscriptionLocator.getUsersSubscription
-					.calledWith(@user_id)
-					.should.equal true
-
 			it "should get the users number of refered user", ->
 				@User.findOne
 					.calledWith(_id: @user_id)
@@ -116,52 +109,7 @@ describe 'Referal allocator', ->
 
 			it "should call the callback", ->
 				@callback.called.should.equal true
-		
-		describe "when user does not have a recurlySubscription_id", ->
-			beforeEach ->
-				@refered_user_count = 4
-				@Settings.bonus_features =
-					"2":
-						collaborators: 2
-						dropbox: false
-						versioning: false
-					"5":
-						collaborators: 5
-						dropbox: true
-						versioning: false
-					"3":
-						collaborators: 3
-						dropbox: false
-						versioning: false
-				stubbedUser = { refered_user_count: @refered_user_count, features:{collaborators:1, dropbox:false, versioning:false} }
-				@User.findOne = sinon.stub().callsArgWith 1, null, stubbedUser
-				@User.update = sinon.stub().callsArgWith 2, null
-				@SubscriptionLocator.getUsersSubscription = sinon.stub().callsArgWith 1, null, {}
-				@ReferalAllocator.assignBonus @user_id, @callback
-
-			it "should get the users subscription", ->
-				@SubscriptionLocator.getUsersSubscription
-					.calledWith(@user_id)
-					.should.equal true
-
-			it "should get the users number of refered user", ->
-				@User.findOne
-					.calledWith(_id: @user_id)
-					.should.equal true
-
-			it "should update the user to bonus features with the closest level", ->
-				@User.update
-					.calledWith({
-						_id: @user_id
-					}, {
-						$set:
-							features:
-								@Settings.bonus_features["3"]
-					})
-					.should.equal true
-
-			it "should call the callback", ->
-				@callback.called.should.equal true
+	
 
 		describe "when the user has better features already", ->
 			
@@ -181,7 +129,6 @@ describe 'Referal allocator', ->
 
 				@User.findOne = sinon.stub().callsArgWith 1, null, @stubbedUser
 				@User.update = sinon.stub().callsArgWith 2, null
-				@SubscriptionLocator.getUsersSubscription = sinon.stub().callsArgWith 1, null,null
 
 			it "should not set in in mongo when the feature is better", (done)->
 				@ReferalAllocator.assignBonus @user_id, =>
@@ -204,14 +151,8 @@ describe 'Referal allocator', ->
 						versioning: false
 				@User.findOne = sinon.stub().callsArgWith 1, null, { refered_user_count: @refered_user_count }
 				@User.update = sinon.stub().callsArgWith 2, null
-				@SubscriptionLocator.getUsersSubscription = sinon.stub().callsArgWith 1, null, {}
 				@ReferalAllocator.assignBonus @user_id, @callback
 
-			it "should get the users subscription", ->
-				@SubscriptionLocator.getUsersSubscription
-					.calledWith(@user_id)
-					.should.equal true
-
 			it "should get the users number of refered user", ->
 				@User.findOne
 					.calledWith(_id: @user_id)
@@ -223,29 +164,4 @@ describe 'Referal allocator', ->
 			it "should call the callback", ->
 				@callback.called.should.equal true
 
-		describe "when user has a subscription", ->
-			beforeEach ->
-				@refered_user_count = 3
-				@Settings.bonus_features =
-					"3":
-						collaborators: 3
-						dropbox: false
-						versioning: false
-				@User.findOne = sinon.stub().callsArgWith 1, null, { refered_user_count: @refered_user_count }
-				@User.update = sinon.stub().callsArgWith 2, null
-				@SubscriptionLocator.getUsersSubscription = sinon.stub().callsArgWith 1, null, { planCode: "collaborator" }
-				@ReferalAllocator.assignBonus @user_id, @callback
-
-			it "should get the users subscription", ->
-				@SubscriptionLocator.getUsersSubscription
-					.calledWith(@user_id)
-					.should.equal true
-
-			it "should not get the users number of refered user", ->
-				@User.findOne.called.should.equal false
 
-			it "should not update the user to bonus features", ->
-				@User.update.called.should.equal false
-
-			it "should call the callback", ->
-				@callback.called.should.equal true