From 30d6069ec5cdd69a3b573d1e98ac9d39b0ff91c4 Mon Sep 17 00:00:00 2001 From: jameswilddev Date: Tue, 28 May 2019 00:45:13 +0100 Subject: [PATCH] Refactored label tests (#6). --- src/label.tests.ts | 12 +----------- src/shared.tests.ts | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/label.tests.ts b/src/label.tests.ts index 605ee84..4d0fad1 100644 --- a/src/label.tests.ts +++ b/src/label.tests.ts @@ -3,15 +3,5 @@ import * as label from "./label" import * as shared from "./shared.tests" describe(`label`, () => { - shared.run(shared.nonArrays, value => shared.rejects( - label.schema, value, `instance`, `is not of a type(s) array` - )) - shared.run(shared.emptyArrays, value => shared.accepts(label.schema, value)) - shared.testLabelPart(label.schema, instance => [instance], `instance[0]`) - describe(`example`, () => shared.accepts(label.schema, [ - [`for_eg`, `la_run`, `mu_par`], - [], - [`just_1`], - [`long_w`, `2thetp`, `wanna_`, `depest`, `lore__`] - ])) + shared.testLabel(label.schema, value => value, `instance`) }) diff --git a/src/shared.tests.ts b/src/shared.tests.ts index 70ee6e1..ee41448 100644 --- a/src/shared.tests.ts +++ b/src/shared.tests.ts @@ -802,3 +802,21 @@ export function testLabelPart( describe(`multiple identifiers`, () => accepts(schema, instanceFactory([`for_eg`, `val_id`, `like__`, `__this`]))) describe(`duplicate identifiers`, () => accepts(schema, instanceFactory([`for_eg`, `val_id`, `like__`, `val_id`, `__this`]))) } + +export function testLabel( + schema: jsonschema.Schema, + instanceFactory: InstanceFactory, + property: string +): void { + run(nonArrays, value => rejects( + schema, instanceFactory(value), property, `is not of a type(s) array` + )) + run(emptyArrays, value => accepts(schema, instanceFactory(value))) + testLabelPart(schema, value => instanceFactory([value]), `${property}[0]`) + describe(`example`, () => accepts(schema, instanceFactory([ + [`for_eg`, `la_run`, `mu_par`], + [], + [`just_1`], + [`long_w`, `2thetp`, `wanna_`, `depest`, `lore__`] + ]))) +}