diff --git a/lab-brae/index.js b/lab-brae/index.js new file mode 100644 index 0000000..c6996e1 --- /dev/null +++ b/lab-brae/index.js @@ -0,0 +1,6 @@ +'use strict'; + +const greet = require('./lib/greet.js'); + +greet.sayHello('brae'); +greet.sayBye(); diff --git a/lab-brae/lib/greet.js b/lab-brae/lib/greet.js new file mode 100644 index 0000000..f5b309b --- /dev/null +++ b/lab-brae/lib/greet.js @@ -0,0 +1,12 @@ +'use strict'; + +module.exports = exports = {}; + +exports.sayHello = function(name) { + if (arguments.length === 0) throw new Error('name not provided'); + return `Hello ${name}`; +}; + + exports.sayBye = function() { + console.log('see you later'); +}; diff --git a/lab-brae/test/greet-test.js b/lab-brae/test/greet-test.js new file mode 100644 index 0000000..a2068d4 --- /dev/null +++ b/lab-brae/test/greet-test.js @@ -0,0 +1,26 @@ +'use strict'; + +const greet = require('../lib/greet.js'); +const assert = require('assert'); + +describe('Greet Module', function() { + describe('#sayHello', function() { + it('should return Hello brae', function() { + var result = greet.sayHello('brae'); + assert.ok(result === 'Hello brae', 'not equal to Hello brae'); + }); + + it('should throw a missing name error', function() { + assert.throws(function() { + greet.sayHello(); + }, 'error not thrown'); + }); + }); + + describe('#sayBye', function() { + it('should return see you later', function() { + var bye = 'see you later'; + assert.ok(bye === 'see you later', 'not equal to see you later'); + }); + }); +});