diff options
Diffstat (limited to 'test/unit/data/composite/things/track/withAlbum.js')
-rw-r--r-- | test/unit/data/composite/things/track/withAlbum.js | 95 |
1 files changed, 35 insertions, 60 deletions
diff --git a/test/unit/data/composite/things/track/withAlbum.js b/test/unit/data/composite/things/track/withAlbum.js index 30f8cc5..6f50776 100644 --- a/test/unit/data/composite/things/track/withAlbum.js +++ b/test/unit/data/composite/things/track/withAlbum.js @@ -1,5 +1,9 @@ import t from 'tap'; +import '#import-heck'; + +import Thing from '#thing'; + import {compositeFrom, input} from '#composite'; import {exposeConstant, exposeDependency} from '#composite/control-flow'; import {withAlbum} from '#composite/things/track'; @@ -21,9 +25,21 @@ t.test(`withAlbum: basic behavior`, t => { }, }); - const fakeTrack1 = {directory: 'foo'}; - const fakeTrack2 = {directory: 'bar'}; - const fakeAlbum = {directory: 'baz', tracks: [fakeTrack1]}; + const fakeTrack1 = { + [Thing.isThing]: true, + directory: 'foo', + }; + + const fakeTrack2 = { + [Thing.isThing]: true, + directory: 'bar', + }; + + const fakeAlbum = { + [Thing.isThing]: true, + directory: 'baz', + tracks: [fakeTrack1], + }; t.equal( composite.expose.compute({ @@ -40,7 +56,7 @@ t.test(`withAlbum: basic behavior`, t => { null); }); -t.test(`withAlbum: early exit conditions (notFoundMode: null)`, t => { +t.test(`withAlbum: early exit conditions`, t => { t.plan(4); const composite = compositeFrom({ @@ -53,9 +69,21 @@ t.test(`withAlbum: early exit conditions (notFoundMode: null)`, t => { ], }); - const fakeTrack1 = {directory: 'foo'}; - const fakeTrack2 = {directory: 'bar'}; - const fakeAlbum = {directory: 'baz', tracks: [fakeTrack1]}; + const fakeTrack1 = { + [Thing.isThing]: true, + directory: 'foo', + }; + + const fakeTrack2 = { + [Thing.isThing]: true, + directory: 'bar', + }; + + const fakeAlbum = { + [Thing.isThing]: true, + directory: 'baz', + tracks: [fakeTrack1], + }; t.equal( composite.expose.compute({ @@ -89,56 +117,3 @@ t.test(`withAlbum: early exit conditions (notFoundMode: null)`, t => { null, `early exits if albumData is null`); }); - -t.test(`withAlbum: early exit conditions (notFoundMode: exit)`, t => { - t.plan(4); - - const composite = compositeFrom({ - compose: false, - steps: [ - withAlbum({ - notFoundMode: input.value('exit'), - }), - - exposeConstant({ - value: input.value('bimbam'), - }), - ], - }); - - const fakeTrack1 = {directory: 'foo'}; - const fakeTrack2 = {directory: 'bar'}; - const fakeAlbum = {directory: 'baz', tracks: [fakeTrack1]}; - - t.equal( - composite.expose.compute({ - albumData: [fakeAlbum], - this: fakeTrack1, - }), - 'bimbam', - `does not early exit if albumData is present and contains the track`); - - t.equal( - composite.expose.compute({ - albumData: [fakeAlbum], - this: fakeTrack2, - }), - null, - `early exits if albumData is present and does not contain the track`); - - t.equal( - composite.expose.compute({ - albumData: [], - this: fakeTrack1, - }), - null, - `early exits if albumData is empty array`); - - t.equal( - composite.expose.compute({ - albumData: null, - this: fakeTrack1, - }), - null, - `early exits if albumData is null`); -}); |