« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/test/unit/content/dependencies/linkContribution.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/content/dependencies/linkContribution.js')
-rw-r--r--test/unit/content/dependencies/linkContribution.js145
1 files changed, 0 insertions, 145 deletions
diff --git a/test/unit/content/dependencies/linkContribution.js b/test/unit/content/dependencies/linkContribution.js
deleted file mode 100644
index 1baa80f8..00000000
--- a/test/unit/content/dependencies/linkContribution.js
+++ /dev/null
@@ -1,145 +0,0 @@
-import t from 'tap';
-import {testContentFunctions} from '#test-lib';
-
-t.test('linkContribution (unit)', async t => {
-  const artist1 = {
-    name: 'Clark Powell',
-    directory: 'clark-powell',
-    urls: ['https://soundcloud.com/plazmataz'],
-  };
-
-  const artist2 = {
-    name: 'Grounder & Scratch',
-    directory: 'the-big-baddies',
-    urls: [],
-  };
-
-  const artist3 = {
-    name: 'Toby Fox',
-    directory: 'toby-fox',
-    urls: ['https://tobyfox.bandcamp.com/', 'https://toby.fox/'],
-  };
-
-  const annotation1 = null;
-  const annotation2 = 'Snooping';
-  const annotation3 = 'Arrangement';
-
-  const thing1 = {};
-  const thing2 = {};
-  const thing3 = {};
-
-  const contribution1 = {artist: artist1, annotation: annotation1, thing: thing1};
-  const contribution2 = {artist: artist2, annotation: annotation2, thing: thing2};
-  const contribution3 = {artist: artist3, annotation: annotation3, thing: thing3};
-
-  await testContentFunctions(t, 'linkContribution (unit 1)', async (t, evaluate) => {
-    const slots = {
-      showAnnotation: true,
-      showExternalLinks: true,
-    };
-
-    await evaluate.load({
-      mock: evaluate.mock(mock => ({
-        linkArtist: {
-          relations: mock
-            .function('linkArtist.relations', () => ({}))
-            .args([undefined, artist1]).next()
-            .args([undefined, artist2]).next()
-            .args([undefined, artist3]),
-
-          data: mock
-            .function('linkArtist.data', () => ({}))
-            .args([artist1]).next()
-            .args([artist2]).next()
-            .args([artist3]),
-
-          // This can be tweaked to return a specific (mocked) template
-          // for each artist if we need to test for slots in the future.
-          generate: mock.function('linkArtist.generate', () => 'artist link')
-            .repeat(3),
-        },
-
-        generateExternalIcon: {
-          data: mock
-            .function('generateExternalIcon.data', () => ({}))
-            .args([artist1.urls[0]]).next()
-            .args([artist3.urls[0]]).next()
-            .args([artist3.urls[1]]),
-
-          generate: mock
-            .function('generateExternalIcon.generate', () => ({
-              toString: () => 'icon',
-              setSlot: () => {},
-            }))
-            .repeat(3),
-        }
-      })),
-    });
-
-    evaluate({
-      name: 'linkContribution',
-      multiple: [
-        {args: [contribution1]},
-        {args: [contribution2]},
-        {args: [contribution3]},
-      ],
-      slots,
-    });
-  });
-
-  await testContentFunctions(t, 'linkContribution (unit 2)', async (t, evaluate) => {
-    const slots = {
-      showAnnotation: false,
-      showExternalLinks: false,
-    };
-
-    await evaluate.load({
-      mock: evaluate.mock(mock => ({
-        linkArtist: {
-          relations: mock
-            .function('linkArtist.relations', () => ({}))
-            .args([undefined, artist1]).next()
-            .args([undefined, artist2]).next()
-            .args([undefined, artist3]),
-
-          data: mock
-            .function('linkArtist.data', () => ({}))
-            .args([artist1]).next()
-            .args([artist2]).next()
-            .args([artist3]),
-
-          generate: mock
-            .function(() => 'artist link')
-            .repeat(3),
-        },
-
-        // Even though icons are hidden, these are still called! The dependency
-        // tree is the same since whether or not the external icon links are
-        // shown is dependent on a slot, which is undefined and arbitrary at
-        // relations/data time (it might change on a whim at generate time).
-        generateExternalIcon: {
-          data: mock
-            .function('generateExternalIcon.data', () => ({}))
-            .repeat(3),
-
-          generate: mock
-            .function('generateExternalIcon.generate', () => ({
-              toString: () => 'icon',
-              setSlot: () => {},
-            }))
-            .repeat(3),
-        },
-      })),
-    });
-
-    evaluate({
-      name: 'linkContribution',
-      multiple: [
-        {args: [contribution1]},
-        {args: [contribution2]},
-        {args: [contribution3]},
-      ],
-      slots,
-    });
-  });
-});