diff options
Diffstat (limited to 'test/etatsbasen_test.js')
| -rw-r--r-- | test/etatsbasen_test.js | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/test/etatsbasen_test.js b/test/etatsbasen_test.js new file mode 100644 index 0000000..22caf29 --- /dev/null +++ b/test/etatsbasen_test.js @@ -0,0 +1,80 @@ +'use strict'; + +var etatsbasen = require('../lib/etatsbasen.js'); +var events = require('events'); + +/* + ======== A Handy Little Nodeunit Reference ======== + https://github.com/caolan/nodeunit + + Test methods: + test.expect(numAssertions) + test.done() + Test assertions: + test.ok(value, [message]) + test.equal(actual, expected, [message]) + test.notEqual(actual, expected, [message]) + test.deepEqual(actual, expected, [message]) + test.notDeepEqual(actual, expected, [message]) + test.strictEqual(actual, expected, [message]) + test.notStrictEqual(actual, expected, [message]) + test.throws(block, [error], [message]) + test.doesNotThrow(block, [error], [message]) + test.ifError(value) +*/ + +exports.etatsbasen = { + setUp: function(done) { + // setup here + done(); + }, + 'printCSV': { + 'non existing file': function(test) { + test.expect(3); + etatsbasen.printCSV(function(err) { + test.ok(err); + test.notEqual(err, ''); + test.ok(err.match(/^Can\'t find file/)); + test.done(); + }, { filename: 'evilmule.csv' }); + }, + 'no error with legal file': function(test) { + test.expect(1); + var oldLogger = console.log; + console.log = function() { }; + etatsbasen.printCSV(function(err) { + console.log = oldLogger; + test.equal(err, undefined); + test.done(); + }, { filename: 'fixtures/1.csv' }); + }, + 'filter empty emails': function(test) { + test.expect(4); + var oldLogger = console.log; + console.log = function(str) { + test.ok(str.match(/^\#id/), 'Doesn\'t start with header'); + test.ok(!str.match(/tailid/, 'Tailid header wasn\'t renamed id')); + test.ok(!str.match(/\n/), 'Contains more than the header'); + }; + etatsbasen.printCSV(function(err) { + console.log = oldLogger; + test.ok(!err); + test.done(); + }, { filename: 'fixtures/1.csv' }); + }, + 'filter categories': function(test) { + test.expect(4); + var oldLogger = console.log; + console.log = function(str) { + test.equal(str.match(/\,36\,/g).length, 3); + test.equal(str.match(/\,37\,/g).length, 1); + test.ok(!str.match(/\,39\,/)); + }; + etatsbasen.printCSV(function(err) { + console.log = oldLogger; + test.ok(!err); + test.done(); + }, { filename: 'fixtures/2.csv', categories: [36,37] }); + } + } + }; |
