DeletedSubscription.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. const { expect } = require('chai')
  2. const MockSubscription = require('./Subscription')
  3. const SubscriptionUpdater = require('../../../../app/src/Features/Subscription/SubscriptionUpdater')
  4. const SubscriptionModel =
  5. require('../../../../app/src/models/Subscription').Subscription
  6. const DeletedSubscriptionModel =
  7. require(`../../../../app/src/models/DeletedSubscription`).DeletedSubscription
  8. class DeletedSubscription {
  9. constructor(options = {}) {
  10. this.subscription = new MockSubscription(options)
  11. }
  12. ensureExists(callback) {
  13. this.subscription.ensureExists(error => {
  14. if (error) {
  15. return callback(error)
  16. }
  17. SubscriptionUpdater.deleteSubscription(this.subscription, {}, callback)
  18. })
  19. }
  20. expectRestored(callback) {
  21. DeletedSubscriptionModel.findOne(
  22. { 'subscription._id': this.subscription._id },
  23. (error, deletedSubscription) => {
  24. if (error) {
  25. return callback(error)
  26. }
  27. expect(deletedSubscription).to.be.null
  28. SubscriptionModel.findById(
  29. this.subscription._id,
  30. (error, subscription) => {
  31. expect(subscription).to.exist
  32. expect(subscription._id.toString()).to.equal(
  33. this.subscription._id.toString()
  34. )
  35. expect(subscription.admin_id.toString()).to.equal(
  36. this.subscription.admin_id.toString()
  37. )
  38. callback(error)
  39. }
  40. )
  41. }
  42. )
  43. }
  44. }
  45. module.exports = DeletedSubscription