Release v2.18.0: template default content
This commit is contained in:
1 parent
48e8f3eb4b
commit
24f1603b43
54 files changed
+1421
-151
No files matched your search
@@ -8,7 +8,7 @@ function payload(requests, auth) {
|
||||
return buildApiGroupPayload(Object.assign({ name: 'Tiltify', auth_method: 'none', requests_json: JSON.stringify(requests) }, auth));
|
||||
}
|
||||
|
||||
function createPool(existing, slides, groupEnabled = 1) {
|
||||
function createPool(existing, slides, groupEnabled = 1, templateDefaults = []) {
|
||||
const calls = [];
|
||||
const connection = {
|
||||
async beginTransaction() { calls.push(['begin']); },
|
||||
@@ -20,6 +20,7 @@ function createPool(existing, slides, groupEnabled = 1) {
|
||||
if (sql.includes('SELECT id, enabled FROM i_api_source_groups WHERE id')) return [[{ id: 5, enabled: groupEnabled }]];
|
||||
if (sql.includes('SELECT id FROM i_api_source_groups WHERE name')) return [[]];
|
||||
if (sql.includes('SELECT id FROM i_api_sources')) return [existing.map(id => ({ id }))];
|
||||
if (sql.includes('SELECT default_content_json FROM c_template_regions')) return [templateDefaults.map(value => ({ default_content_json: value }))];
|
||||
if (sql.includes('SELECT content_json')) return [(slides || []).map(value => ({ content_json: value }))];
|
||||
if (sql.startsWith('INSERT INTO i_api_sources')) return [{ insertId: 99 }];
|
||||
if (sql.startsWith('INSERT INTO i_api_source_groups')) return [{ insertId: 10 }];
|
||||
@@ -64,6 +65,9 @@ test('request ownership, slide usage, and delete permission are enforced before
|
||||
const used = createPool([5, 6], [JSON.stringify({ region: { type: 'api', source_id: 6 } })]);
|
||||
await assert.rejects(saveApiGroup(used, 5, payload([request]), 1, true), /still used/);
|
||||
assert.ok(!used.calls.some(([sql]) => sql.startsWith('UPDATE')));
|
||||
const usedByTemplate = createPool([5, 6], [], 1, [JSON.stringify({ source_id: 6 })]);
|
||||
await assert.rejects(saveApiGroup(usedByTemplate, 5, payload([request]), 1, true), /still used/);
|
||||
assert.ok(!usedByTemplate.calls.some(([sql]) => sql.startsWith('UPDATE')));
|
||||
await assert.rejects(saveApiGroup(createPool([5, 6]), 5, payload([request]), 1, false), /permission/);
|
||||
const unused = createPool([5, 6]);
|
||||
const result = await saveApiGroup(unused, 5, payload([request]), 1, true);
|
||||
|
||||
Reference in new issue
Block a user