From ef78ecf2b083e558c2f35c839b48f84929548945 Mon Sep 17 00:00:00 2001 From: Lucas Holmquist Date: Fri, 2 Aug 2019 15:04:21 -0400 Subject: [PATCH 1/2] test: Add test for Rule class. * This adds two tests for the Rules class testing the error conditions for when a rule does not have an id parameter or a validate function. --- test/rule-test.js | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 test/rule-test.js diff --git a/test/rule-test.js b/test/rule-test.js new file mode 100644 index 0000000..0b7c575 --- /dev/null +++ b/test/rule-test.js @@ -0,0 +1,32 @@ +'use strict' + +const test = require('tap').test +const BaseRule = require('../lib/rule') + +test('Base Rule Test', (t) => { + t.test('No id param', (tt) => { + try { + new BaseRule() + tt.fail('This should fail') + } catch (err) { + tt.equal(err.message, + 'Rule must have an id', + 'Should have error message about id') + tt.end() + } + }) + + t.test('No validate function', (tt) => { + try { + new BaseRule({id: 'test-rule'}) + tt.fail('This should fail') + } catch (err) { + tt.equal(err.message, + 'Rule must have validate function', + 'Should have error message about validate function') + tt.end() + } + }) + + t.end() +}) From dd5ffe0b3a2a98a41b2bfab80fe7a31826771248 Mon Sep 17 00:00:00 2001 From: Lucas Holmquist Date: Mon, 5 Aug 2019 06:54:35 -0400 Subject: [PATCH 2/2] squash: use tap.throws instead of try/catch --- test/rule-test.js | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/test/rule-test.js b/test/rule-test.js index 0b7c575..f6da50e 100644 --- a/test/rule-test.js +++ b/test/rule-test.js @@ -5,27 +5,19 @@ const BaseRule = require('../lib/rule') test('Base Rule Test', (t) => { t.test('No id param', (tt) => { - try { + tt.throws(() => { new BaseRule() - tt.fail('This should fail') - } catch (err) { - tt.equal(err.message, - 'Rule must have an id', - 'Should have error message about id') - tt.end() - } + }, 'Rule must have an id') + + tt.end() }) t.test('No validate function', (tt) => { - try { + tt.throws(() => { new BaseRule({id: 'test-rule'}) - tt.fail('This should fail') - } catch (err) { - tt.equal(err.message, - 'Rule must have validate function', - 'Should have error message about validate function') - tt.end() - } + }, 'Rule must have validate function') + + tt.end() }) t.end()