aboutsummaryrefslogtreecommitdiffstats
path: root/test/etatsbasen_test.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/etatsbasen_test.js')
-rw-r--r--test/etatsbasen_test.js80
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] });
+ }
+ }
+ };