fix(ui): restore background after playlist reset
This commit is contained in:
@@ -143,3 +143,65 @@ test("editing a cloned page cannot mutate accepted settings", () => {
|
||||
assert.equal(accepted.pages.fleet.background.enabled, false);
|
||||
assert.equal(accepted.pages.fleet.background.items.length, 0);
|
||||
});
|
||||
|
||||
test("repopulating an emptied playlist restores its background lifecycle", () => {
|
||||
const original = {
|
||||
enabled: true,
|
||||
imageDurationSeconds: 10,
|
||||
items: [
|
||||
{
|
||||
id: "media-original",
|
||||
source: "url",
|
||||
url: "https://example.test/original.mp4",
|
||||
mediaKind: "video",
|
||||
fileName: null,
|
||||
},
|
||||
],
|
||||
};
|
||||
const emptied = environment.removeEnvironmentMediaItem(
|
||||
original,
|
||||
"media-original",
|
||||
);
|
||||
const replacement = {
|
||||
id: "media-replacement",
|
||||
source: "file",
|
||||
url: null,
|
||||
mediaKind: null,
|
||||
fileName: null,
|
||||
};
|
||||
const repopulated = environment.appendEnvironmentMediaItem(
|
||||
emptied,
|
||||
replacement,
|
||||
);
|
||||
|
||||
assert.equal(emptied.enabled, false);
|
||||
assert.equal(emptied.items.length, 0);
|
||||
assert.equal(repopulated.enabled, true);
|
||||
assert.deepEqual(repopulated.items, [replacement]);
|
||||
});
|
||||
|
||||
test("adding to an intentionally disabled nonempty playlist keeps it disabled", () => {
|
||||
const disabled = {
|
||||
enabled: false,
|
||||
imageDurationSeconds: 10,
|
||||
items: [
|
||||
{
|
||||
id: "media-hidden",
|
||||
source: "url",
|
||||
url: "https://example.test/hidden.png",
|
||||
mediaKind: "image",
|
||||
fileName: null,
|
||||
},
|
||||
],
|
||||
};
|
||||
const next = environment.appendEnvironmentMediaItem(disabled, {
|
||||
id: "media-second",
|
||||
source: "file",
|
||||
url: null,
|
||||
mediaKind: null,
|
||||
fileName: null,
|
||||
});
|
||||
|
||||
assert.equal(next.enabled, false);
|
||||
assert.equal(next.items.length, 2);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user