mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-01-01 21:30:30 +01:00
test: add test to verify that a sorted set is automatically deleted if its last element is removed (#10261)
* test: add test to verify that a sorted set is automatically deleted if its last element is removed
* fix: remote empty zsets when all elements have been removed #yolo
* Revert "fix: remote empty zsets when all elements have been removed #yolo"
This reverts commit 0ac73244bb.
* fix: altered behaviour in module.exists instead of zrem
This commit is contained in:
@@ -17,6 +17,13 @@ module.exports = function (module) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Redis/Mongo consider empty zsets as non-existent, match that behaviour
|
||||
const type = await module.type(key);
|
||||
if (type === 'zset') {
|
||||
const members = await module.getSortedSetRange(key, 0, 0);
|
||||
return members.length > 0;
|
||||
}
|
||||
|
||||
if (Array.isArray(key)) {
|
||||
const res = await module.pool.query({
|
||||
name: 'existsArray',
|
||||
|
||||
@@ -1085,6 +1085,11 @@ describe('Sorted Set methods', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('should not think the sorted set exists if the last element is removed', async () => {
|
||||
await db.sortedSetRemove('sorted3', 'value1');
|
||||
assert.strictEqual(await db.exists('sorted3'), false);
|
||||
});
|
||||
|
||||
it('should remove multiple values from multiple keys', (done) => {
|
||||
db.sortedSetAdd('multiTest1', [1, 2, 3, 4], ['one', 'two', 'three', 'four'], (err) => {
|
||||
assert.ifError(err);
|
||||
|
||||
Reference in New Issue
Block a user