From eb74d6c033ef44fce7e5e340d665d4ab1d3b2635 Mon Sep 17 00:00:00 2001 From: Paul Kaplan <pkaplan@media.mit.edu> Date: Thu, 23 May 2019 11:22:36 -0400 Subject: [PATCH] Include a unit test to ensure default project assets are included --- test/unit/util/default-project.test.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 test/unit/util/default-project.test.js diff --git a/test/unit/util/default-project.test.js b/test/unit/util/default-project.test.js new file mode 100644 index 000000000..726519c41 --- /dev/null +++ b/test/unit/util/default-project.test.js @@ -0,0 +1,21 @@ +import defaultProjectGenerator from '../../../src/lib/default-project/index.js'; + +describe('defaultProject', () => { + // This test ensures that the assets referenced in the default project JSON + // do not get out of sync with the raw assets that are included alongside. + // see https://github.com/LLK/scratch-gui/issues/4844 + test('assets referenced by the project are included', () => { + const translatorFn = () => ''; + const defaultProject = defaultProjectGenerator(translatorFn); + const includedAssetIds = defaultProject.map(obj => obj.id); + const projectData = JSON.parse(defaultProject[0].data); + projectData.targets.forEach(target => { + target.costumes.forEach(costume => { + expect(includedAssetIds.includes(costume.assetId)).toBe(true); + }); + target.sounds.forEach(sound => { + expect(includedAssetIds.includes(sound.assetId)).toBe(true); + }); + }); + }); +}); -- GitLab