| 12345678910111213141516171819202122232425262728293031323334 |
- SandboxedModule = require('sandboxed-module')
- should = require('chai').should()
- sinon = require 'sinon'
- modulePath = "../../../../app/js/Features/Subscription/UserFeaturesUpdater"
- assert = require("chai").assert
- describe "user Features updater", ->
- beforeEach ->
- @User =
- update: sinon.stub().callsArgWith(2)
- @PlansLocator =
- findLocalPlanInSettings : sinon.stub()
- @UserFeaturesUpdater = SandboxedModule.require modulePath, requires:
- '../../models/User': User:@User
- "logger-sharelatex": log:->
- './PlansLocator': @PlansLocator
- describe "updateFeatures", ->
- it "should send the users features", (done)->
- user_id = "5208dd34438842e2db000005"
- plan_code = "student"
- @features = features:{versioning:true, collaborators:10}
- @PlansLocator.findLocalPlanInSettings = sinon.stub().returns(@features)
- @UserFeaturesUpdater.updateFeatures user_id, plan_code, (err, features)=>
- update = {"features.versioning":true, "features.collaborators":10}
- @User.update.calledWith({"_id":user_id}, update).should.equal true
- features.should.deep.equal @features.features
- done()
|