mirror of
https://github.com/overleaf/overleaf.git
synced 2024-12-18 06:01:27 -05:00
62 lines
1.9 KiB
CoffeeScript
62 lines
1.9 KiB
CoffeeScript
|
SandboxedModule = require('sandboxed-module')
|
||
|
should = require('chai').should()
|
||
|
sinon = require 'sinon'
|
||
|
assert = require("chai").assert
|
||
|
modulePath = "../../../../app/js/Features/Subscription/SubscriptionGroupController"
|
||
|
|
||
|
|
||
|
describe "Subscription Group Controller", ->
|
||
|
|
||
|
beforeEach ->
|
||
|
@user = {_id:"!@312431"}
|
||
|
@subscription = {}
|
||
|
@GroupHandler =
|
||
|
addUserToGroup: sinon.stub().callsArgWith(2, null, @user)
|
||
|
removeUserFromGroup: sinon.stub().callsArgWith(2)
|
||
|
@SubscriptionLocator = getUsersSubscription: sinon.stub().callsArgWith(1, null, @subscription)
|
||
|
|
||
|
@Controller = SandboxedModule.require modulePath, requires:
|
||
|
"./SubscriptionGroupHandler":@GroupHandler
|
||
|
"logger-sharelatex": log:->
|
||
|
"./SubscriptionLocator": @SubscriptionLocator
|
||
|
@adminUserId = "123jlkj"
|
||
|
@req =
|
||
|
session:
|
||
|
user: _id: @adminUserId
|
||
|
|
||
|
|
||
|
describe "addUserToGroup", ->
|
||
|
|
||
|
it "should use the admin id for the logged in user and take the email address from the body", (done)->
|
||
|
newEmail = "31231"
|
||
|
@req.body = email: newEmail
|
||
|
res =
|
||
|
json : (data)=>
|
||
|
@GroupHandler.addUserToGroup.calledWith(@adminUserId, newEmail).should.equal true
|
||
|
data.user.should.deep.equal @user
|
||
|
done()
|
||
|
@Controller.addUserToGroup @req, res
|
||
|
|
||
|
|
||
|
describe "removeUserFromGroup", ->
|
||
|
it "should use the admin id for the logged in user and take the email address from the body", (done)->
|
||
|
userIdToRemove = "31231"
|
||
|
@req.params = user_id: userIdToRemove
|
||
|
|
||
|
res =
|
||
|
send : =>
|
||
|
@GroupHandler.removeUserFromGroup.calledWith(@adminUserId, userIdToRemove).should.equal true
|
||
|
done()
|
||
|
@Controller.removeUserFromGroup @req, res
|
||
|
|
||
|
|
||
|
describe "renderSubscriptionGroupAdminPage", ->
|
||
|
it "should redirect you if you don't have a group account", (done)->
|
||
|
@subscription.group = false
|
||
|
|
||
|
res =
|
||
|
redirect : (path)=>
|
||
|
path.should.equal("/")
|
||
|
done()
|
||
|
@Controller.renderSubscriptionGroupAdminPage @req, res
|