Merge pull request #1605 from sharelatex/jel-portal-team-data

Refactor portals

GitOrigin-RevId: c75eb5fc17b2755070dfe48eb85845c690fe0230
This commit is contained in:
Jessica Lawshe 2019-03-13 11:37:06 -05:00 committed by sharelatex
parent 32925f0c4e
commit 0b841aacef
2 changed files with 22 additions and 1 deletions

View file

@ -35,6 +35,10 @@ module.exports = SubscriptionGroupHandler =
logger.log user_id:user_id, subscription_id:subscription_id, partOfGroup:partOfGroup, "checking if user is part of a group"
callback(err, partOfGroup)
getTotalConfirmedUsersInGroup: (subscription_id, callback=(err, totalUsers)->)->
SubscriptionLocator.getSubscription subscription_id, (err, subscription)->
callback(err, subscription?.member_ids?.length)
replaceInArray = (model, property, oldValue, newValue, callback) ->
logger.log "Replacing #{oldValue} with #{newValue} in #{property} of #{model}"

View file

@ -23,13 +23,14 @@ describe "SubscriptionGroupHandler", ->
@SubscriptionLocator =
getUsersSubscription: sinon.stub()
getSubscriptionByMemberIdAndId: sinon.stub()
getSubscription: sinon.stub()
getSubscription: sinon.stub().callsArgWith(1, null, @subscription)
@UserCreator =
getUserOrCreateHoldingAccount: sinon.stub().callsArgWith(1, null, @user)
@SubscriptionUpdater =
removeUserFromGroup: sinon.stub().callsArgWith(2)
getSubscription: sinon.stub().callsArgWith(2)
@TeamInvitesHandler =
createInvite: sinon.stub().callsArgWith(2)
@ -50,6 +51,7 @@ describe "SubscriptionGroupHandler", ->
@Subscription =
update: sinon.stub().yields()
findOne: sinon.stub().yields()
@settings =
siteUrl:"http://www.sharelatex.com"
@ -135,3 +137,18 @@ describe "SubscriptionGroupHandler", ->
@Handler.isUserPartOfGroup @user_id, @subscription_id, (err, partOfGroup)->
partOfGroup.should.equal false
done()
describe "getTotalConfirmedUsersInGroup", ->
describe "for existing subscriptions", ->
beforeEach ->
@subscription.member_ids = ["12321", "3121321"]
it "should call the subscription locator and return 2 users", (done)->
@Handler.getTotalConfirmedUsersInGroup @subscription_id, (err, count)=>
@SubscriptionLocator.getSubscription.calledWith(@subscription_id).should.equal true
count.should.equal 2
done()
describe "for nonexistent subscriptions", ->
it "should return undefined", (done)->
@Handler.getTotalConfirmedUsersInGroup "fake-id", (err, count)=>
should.not.exist(count)
done()