« get me outta code hell

validators: validateArrayItems: nest in a cause layer - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/test
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2024-01-03 20:32:23 -0400
committer(quasar) nebula <qznebula@protonmail.com>2024-01-03 20:35:42 -0400
commit9e20be3397fde456ae770cc7d4dfe95cfc2eff3f (patch)
tree0f077e54aa445f50fd9f9bf79aac915ca29ea58a /test
parent0c5a8f4a648d25fd06d753226dac5da7605f35b3 (diff)
validators: validateArrayItems: nest in a cause layer
Diffstat (limited to 'test')
-rw-r--r--test/unit/data/things/validators.js15
1 files changed, 10 insertions, 5 deletions
diff --git a/test/unit/data/things/validators.js b/test/unit/data/things/validators.js
index 27d5f4f..178f865 100644
--- a/test/unit/data/things/validators.js
+++ b/test/unit/data/things/validators.js
@@ -115,7 +115,7 @@ test(t, 'isObject', t => {
 });
 
 test(t, 'validateArrayItems', t => {
-  t.plan(6);
+  t.plan(9);
 
   t.ok(validateArrayItems(isNumber)([3, 4, 5]));
   t.ok(validateArrayItems(validateArrayItems(isNumber))([[3, 4], [4, 5], [6, 7]]));
@@ -130,7 +130,10 @@ test(t, 'validateArrayItems', t => {
   t.not(caughtError, null);
   t.ok(caughtError instanceof AggregateError);
   t.equal(caughtError.errors.length, 1);
-  t.ok(caughtError.errors[0] instanceof TypeError);
+  t.ok(caughtError.errors[0] instanceof Error);
+  t.equal(caughtError.errors[0][Symbol.for('hsmusic.annotateError.indexInSourceArray')], 2);
+  t.not(caughtError.errors[0].cause, null);
+  t.ok(caughtError.errors[0].cause instanceof TypeError);
 });
 
 // Wiki data
@@ -267,7 +270,7 @@ test(t, 'validateReferenceList', t => {
   const track = validateReferenceList('track');
   const artist = validateReferenceList('artist');
 
-  t.plan(9);
+  t.plan(11);
 
   t.ok(track(['track:fallen-down', 'Once Upon a Time']));
   t.ok(artist(['artist:toby-fox', 'Mark Hadley']));
@@ -284,8 +287,10 @@ test(t, 'validateReferenceList', t => {
   t.not(caughtError, null);
   t.ok(caughtError instanceof AggregateError);
   t.equal(caughtError.errors.length, 2);
-  t.ok(caughtError.errors[0] instanceof TypeError);
-  t.ok(caughtError.errors[1] instanceof TypeError);
+  t.ok(caughtError.errors[0] instanceof Error);
+  t.ok(caughtError.errors[0].cause instanceof TypeError);
+  t.ok(caughtError.errors[1] instanceof Error);
+  t.ok(caughtError.errors[0].cause instanceof TypeError);
 });
 
 test(t, 'anyOf', t => {