45 lines
1.4 KiB
JavaScript
45 lines
1.4 KiB
JavaScript
import { expect } from 'chai'
|
|
import MockSubscription from './Subscription.mjs'
|
|
import SubscriptionUpdater from '../../../../app/src/Features/Subscription/SubscriptionUpdater.js'
|
|
import { Subscription as SubscriptionModel } from '../../../../app/src/models/Subscription.js'
|
|
import { DeletedSubscription as DeletedSubscriptionModel } from '../../../../app/src/models/DeletedSubscription.js'
|
|
|
|
class DeletedSubscription {
|
|
constructor(options = {}) {
|
|
this.subscription = new MockSubscription(options)
|
|
}
|
|
|
|
ensureExists(callback) {
|
|
this.subscription.ensureExists(error => {
|
|
if (error) {
|
|
return callback(error)
|
|
}
|
|
SubscriptionUpdater.deleteSubscription(this.subscription, {}, callback)
|
|
})
|
|
}
|
|
|
|
expectRestored(callback) {
|
|
DeletedSubscriptionModel.findOne({
|
|
'subscription._id': this.subscription._id,
|
|
})
|
|
.then(deletedSubscription => {
|
|
expect(deletedSubscription).to.be.null
|
|
SubscriptionModel.findById(this.subscription._id)
|
|
.then(subscription => {
|
|
expect(subscription).to.exist
|
|
expect(subscription._id.toString()).to.equal(
|
|
this.subscription._id.toString()
|
|
)
|
|
expect(subscription.admin_id.toString()).to.equal(
|
|
this.subscription.admin_id.toString()
|
|
)
|
|
callback()
|
|
})
|
|
.catch(callback)
|
|
})
|
|
.catch(callback)
|
|
}
|
|
}
|
|
|
|
export default DeletedSubscription
|