Release v2.13.1
This commit is contained in:
+25
-13
@@ -1,6 +1,8 @@
|
||||
const test = require('node:test');
|
||||
const assert = require('node:assert/strict');
|
||||
const fs = require('node:fs');
|
||||
const os = require('node:os');
|
||||
const path = require('node:path');
|
||||
|
||||
require('../src/common');
|
||||
|
||||
@@ -172,7 +174,11 @@ test('canvas size update returns a warning when an in-use canvas changes dimensi
|
||||
assert.equal(queries.length, 2);
|
||||
});
|
||||
|
||||
test('slide upload cleanup route removes unused uploads', async () => {
|
||||
test('slide upload cleanup route removes pending media assets', async () => {
|
||||
const uploadRoot = await fs.promises.mkdtemp(path.join(os.tmpdir(), 'pulse-slide-upload-cleanup-'));
|
||||
const uploadDir = path.join(uploadRoot, 'media', 'uploads');
|
||||
await fs.promises.mkdir(uploadDir, { recursive: true });
|
||||
await fs.promises.writeFile(path.join(uploadDir, 'test-file.png'), Buffer.from('temporary upload'));
|
||||
const handlers = {};
|
||||
const app = {
|
||||
get(path, ...routeHandlers) {
|
||||
@@ -183,12 +189,16 @@ test('slide upload cleanup route removes unused uploads', async () => {
|
||||
}
|
||||
};
|
||||
|
||||
let cleanupCall = null;
|
||||
|
||||
const deps = {
|
||||
pool: {
|
||||
async query() {
|
||||
return [[]];
|
||||
async query(sql) {
|
||||
if (String(sql).includes('is_published = 0')) {
|
||||
return [[{ id: 1 }]];
|
||||
}
|
||||
if (String(sql).includes('DELETE FROM c_media_assets')) {
|
||||
return [{ affectedRows: 1 }];
|
||||
}
|
||||
return [[{ ref_count: 0 }]];
|
||||
}
|
||||
},
|
||||
common: {
|
||||
@@ -239,9 +249,7 @@ test('slide upload cleanup route removes unused uploads', async () => {
|
||||
collectUploadReferencesFromSlide: () => [],
|
||||
collectUploadReferencesFromTemplate: () => [],
|
||||
collectUploadReferencesFromPayload: () => [],
|
||||
removeUnusedUploadFiles: async (pool, uploadDir, uploadPaths) => {
|
||||
cleanupCall = { pool, uploadDir, uploadPaths };
|
||||
},
|
||||
removeUnusedUploadFiles: async () => {},
|
||||
syncPlaylistUploadsOnChange: async () => {},
|
||||
getAuditUserId: () => 1,
|
||||
redirectAfterSave: () => {},
|
||||
@@ -257,7 +265,7 @@ test('slide upload cleanup route removes unused uploads', async () => {
|
||||
};
|
||||
},
|
||||
hasAnyPermission: () => true,
|
||||
uploadDir: 'e:\\Projects Git\\pulse-signage\\media\\uploads'
|
||||
uploadDir
|
||||
};
|
||||
|
||||
registerContentRoutes(app, deps);
|
||||
@@ -286,11 +294,15 @@ test('slide upload cleanup route removes unused uploads', async () => {
|
||||
}
|
||||
};
|
||||
|
||||
await routeHandlers[1](req, res, () => {});
|
||||
try {
|
||||
await routeHandlers[1](req, res, () => {});
|
||||
|
||||
assert.equal(res.statusCode, 204);
|
||||
assert.equal(cleanupCall.uploadDir, 'e:\\Projects Git\\pulse-signage\\media\\uploads');
|
||||
assert.deepEqual(cleanupCall.uploadPaths, ['/media/uploads/test-file.png']);
|
||||
assert.equal(res.statusCode, 204);
|
||||
assert.equal(fs.existsSync(path.join(uploadDir, 'test-file.png')), false);
|
||||
assert.equal(res.statusCode, 204);
|
||||
} finally {
|
||||
await fs.promises.rm(uploadRoot, { recursive: true, force: true });
|
||||
}
|
||||
});
|
||||
|
||||
test('wysiwyg image uploads are capped below the dedicated image region limit', async () => {
|
||||
|
||||
Reference in New Issue
Block a user