Files
overleaf-server-arm/services/web/test/acceptance/src/helpers/DeletedSubscription.mjs
2025-04-24 13:11:28 +08:00

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