assert.deepStrictEqual(e, expected);
}
});
- });
+ }); // subscriptionDeleteExpired
describe('subscriptionDeliveryClaim', function () {
it('success', async function () {
}
assert(db.statement.topicDeleteById.run.called);
});
- });
+ }); // topicPendingDelete
+
+ describe('topicPublishHistory', function () {
+ beforeEach(function () {
+ sinon.stub(db.statement.topicPublishHistory, 'all');
+ });
+ it('success', function () {
+ db.statement.topicPublishHistory.all.returns([
+ { daysAgo: 1, contentUpdates: 1 },
+ { daysAgo: 3, contentUpdates: 2 },
+ ]);
+ const result = db.topicPublishHistory(dbCtx, topicId, 7);
+ const expected = [0, 1, 0, 2, 0, 0, 0];
+ assert.deepStrictEqual(result, expected);
+ });
+ }); // topicPublishHistory
describe('topicSet', function () {
let data;
contentType: 'text/plain',
contentHash: 'abc123',
};
+ sinon.stub(db.statement.topicSetContent, 'run');
+ sinon.stub(db.statement.topicSetContentHistory, 'run');
});
it('success', async function() {
const dbResult = {
changes: 1,
lastInsertRowid: undefined,
};
- sinon.stub(db.statement.topicSetContent, 'run').returns(dbResult);
+ db.statement.topicSetContent.run.returns(dbResult);
+ db.statement.topicSetContentHistory.run.returns(dbResult);
const result = await db.topicSetContent(dbCtx, data);
assert.deepStrictEqual(result, expected);
});
changes: 0,
lastInsertRowid: undefined,
};
- sinon.stub(db.statement.topicSetContent, 'run').returns(dbResult);
+ db.statement.topicSetContent.run.returns(dbResult);
+ try {
+ await db.topicSetContent(dbCtx, data);
+ assert.fail(noExpectedException);
+ } catch (e) {
+ assert(e instanceof DBErrors.UnexpectedResult);
+ }
+ });
+ it('failure 2', async function () {
+ const dbResultSuccess = {
+ changes: 1,
+ lastInsertRowid: undefined,
+ };
+ const dbResultFail = {
+ changes: 0,
+ lastInsertRowid: undefined,
+ };
+ db.statement.topicSetContent.run.returns(dbResultSuccess);
+ db.statement.topicSetContentHistory.run.returns(dbResultFail);
try {
await db.topicSetContent(dbCtx, data);
assert.fail(noExpectedException);