mirror of
https://github.com/overleaf/overleaf.git
synced 2024-12-28 14:20:48 +00:00
0bf807fa9f
It was used as a kind of access control check, but it's clearer if the check is in the only controller that actually needs it.
51 lines
1.9 KiB
CoffeeScript
51 lines
1.9 KiB
CoffeeScript
SandboxedModule = require('sandboxed-module')
|
|
should = require('chai').should()
|
|
sinon = require 'sinon'
|
|
modulePath = "../../../../app/js/Features/Subscription/SubscriptionLocator"
|
|
assert = require("chai").assert
|
|
ObjectId = require('mongoose').Types.ObjectId
|
|
|
|
|
|
describe "Subscription Locator Tests", ->
|
|
|
|
beforeEach ->
|
|
@user =
|
|
_id: "5208dd34438842e2db333333"
|
|
@subscription = {hello:"world"}
|
|
@Subscription =
|
|
findOne: sinon.stub()
|
|
find: sinon.stub()
|
|
@SubscriptionLocator = SandboxedModule.require modulePath, requires:
|
|
'../../models/Subscription': Subscription:@Subscription
|
|
"logger-sharelatex": log:->
|
|
|
|
describe "finding users subscription", ->
|
|
|
|
it "should send the users features", (done)->
|
|
@Subscription.findOne.callsArgWith(1, null, @subscription)
|
|
@SubscriptionLocator.getUsersSubscription @user, (err, subscription)=>
|
|
@Subscription.findOne.calledWith({"admin_id":@user._id}).should.equal true
|
|
subscription.should.equal @subscription
|
|
done()
|
|
|
|
it "should error if not found", (done)->
|
|
@Subscription.findOne.callsArgWith(1, "not found")
|
|
@SubscriptionLocator.getUsersSubscription @user, (err, subscription)=>
|
|
err.should.exist
|
|
done()
|
|
|
|
it "should take a user id rather than the user object", (done)->
|
|
@Subscription.findOne.callsArgWith(1, null, @subscription)
|
|
@SubscriptionLocator.getUsersSubscription @user._id, (err, subscription)=>
|
|
@Subscription.findOne.calledWith({"admin_id":@user._id}).should.equal true
|
|
subscription.should.equal @subscription
|
|
done()
|
|
|
|
describe "finding managed subscription", ->
|
|
|
|
it "should query the database", (done)->
|
|
@Subscription.findOne.callsArgWith(1, null, @subscription)
|
|
@SubscriptionLocator.findManagedSubscription @user._id, (err, subscription)=>
|
|
@Subscription.findOne.calledWith({"manager_ids":@user._id}).should.equal true
|
|
subscription.should.equal @subscription
|
|
done()
|