| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- const SandboxedModule = require('sandboxed-module')
- const sinon = require('sinon')
- const modulePath =
- '../../../../app/src/Features/Subscription/SubscriptionLocator'
- describe('Subscription Locator Tests', function () {
- beforeEach(function () {
- this.user = { _id: '5208dd34438842e2db333333' }
- this.subscription = { hello: 'world' }
- this.Subscription = {
- findOne: sinon.stub(),
- find: sinon.stub(),
- }
- this.DeletedSubscription = {
- findOne: sinon.stub().yields(),
- find: sinon.stub().yields(),
- }
- this.SubscriptionLocator = SandboxedModule.require(modulePath, {
- requires: {
- './GroupPlansData': {},
- '../../models/Subscription': {
- Subscription: this.Subscription,
- },
- '../../models/DeletedSubscription': {
- DeletedSubscription: this.DeletedSubscription,
- },
- },
- })
- })
- describe('finding users subscription', function () {
- it('should send the users features', function (done) {
- this.Subscription.findOne.callsArgWith(1, null, this.subscription)
- this.SubscriptionLocator.getUsersSubscription(
- this.user,
- (err, subscription) => {
- if (err) return done(err)
- this.Subscription.findOne
- .calledWith({ admin_id: this.user._id })
- .should.equal(true)
- subscription.should.equal(this.subscription)
- done()
- }
- )
- })
- it('should error if not found', function (done) {
- this.Subscription.findOne.callsArgWith(1, 'not found')
- this.SubscriptionLocator.getUsersSubscription(
- this.user,
- (err, subscription) => {
- err.should.exist
- done()
- }
- )
- })
- it('should take a user id rather than the user object', function (done) {
- this.Subscription.findOne.callsArgWith(1, null, this.subscription)
- this.SubscriptionLocator.getUsersSubscription(
- this.user._id,
- (err, subscription) => {
- if (err) return done(err)
- this.Subscription.findOne
- .calledWith({ admin_id: this.user._id })
- .should.equal(true)
- subscription.should.equal(this.subscription)
- done()
- }
- )
- })
- })
- })
|