X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Fsrc%2Fcommunication.js;h=960a0f994b27a572236a92131638b326c59f4ece;hb=2c38f18a33a3d1e37994cdbcf4aa1397a241ab66;hp=ca5f34e92c536458171c18fa8cd4f78976a5bf11;hpb=c4d2acfc78cc8b67649c2eaa60a8c6c34c3e6675;p=websub-hub diff --git a/test/src/communication.js b/test/src/communication.js index ca5f34e..960a0f9 100644 --- a/test/src/communication.js +++ b/test/src/communication.js @@ -405,6 +405,23 @@ describe('Communication', function () { assert(communication.db.verificationComplete.called); }); + it('unsubscription from deleted topic deletes topic', async function () { + communication.db.verificationGetById.restore(); + verification.mode = 'unsubscribe'; + sinon.stub(communication.db, 'verificationGetById').resolves(verification); + communication.db.topicGetById.restore(); + sinon.stub(communication.db, 'topicGetById').resolves({ + ...topic, + isDeleted: true, + }); + + await communication.verificationProcess(dbCtx, callback, topicId, requestId); + + assert(communication.db.subscriptionDelete.called); + assert(communication.db.verificationComplete.called); + assert(communication.db.topicPendingDelete.called); + }); + it('unsubscription denial succeeds', async function () { communication.db.verificationGetById.restore(); verification.mode = 'unsubscribe';