diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..29ad71b --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,11 @@ +{ + "env": { + "commonjs": true, + "es2021": true, + "node": true, + "mocha": true + }, + "extends": [ + "semistandard" + ] +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9644644 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +nbproject +node_modules +package-lock.json diff --git a/README.md b/README.md index e1deead..53821cd 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,52 @@ li-harvest-hal =============== + +## Présentation ## + +TODO + +### Fonctionnement ### + +TODO + +## Utilisation ## + +### Installation ### + +Dépendances système : + * NodeJS 4.0.0+ + +Commande d'Installation : +```bash +npm install +``` + +### Vérification du fonctionnement ### +Commande d'exécution des tests unitaires : +```bash +npm test +``` + +### Exécution ### + +TODO + +## Annexes ## + +### Arborescence ### + +``` +. +├── index.js // Point d'entrée, contenant la fonction doTheJob() +├── node_modules // Modules NPM +│   ├── ... +├── package.json // No comment +├── README.md +└── test // Fichiers nécessaires aux TU + ├── dataset // rép de données de tests + └── run.js // point d'entrée des TU +``` + +### Codes d'erreur ### + +TODO diff --git a/index.js b/index.js new file mode 100644 index 0000000..c3e389d --- /dev/null +++ b/index.js @@ -0,0 +1,21 @@ +'use strict'; + +const business = {}; + +business.beforeAnyJob = function (cbBefore) { + return cbBefore(); +}; + +business.finalJob = function (docObjects, cbFinalJob) { + const finalJobLogs = { + processLogs: [], + errLogs: [] + }; + return cbFinalJob(null, finalJobLogs); +}; + +business.doTheJob = function (jsonLine, cb) { + return cb(); +}; + +module.exports = business; diff --git a/package.json b/package.json new file mode 100644 index 0000000..800d2e9 --- /dev/null +++ b/package.json @@ -0,0 +1,32 @@ +{ + "name": "li-harvest-hal", + "version": "1.1.0", + "main": "index.js", + "scripts": { + "test": "mocha" + }, + "repository": { + "type": "git", + "url": "ssh://istex@vsistex.intra.inist.fr:22222/istex/li-harvest-hal.git" + }, + "keywords": [ + "istex" + ], + "author": "mounir .b", + "license": "GNU", + "dependencies": { + "chai": "^3.4.0", + "mocha": "^2.3.3" + }, + "devDependencies": { + "chai": "^3.4.0", + "eslint": "^7.32.0", + "eslint-config-semistandard": "^16.0.0", + "eslint-config-standard": "^16.0.3", + "eslint-plugin-import": "^2.24.2", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^5.1.0", + "eslint-plugin-standard": "^5.0.0", + "mocha": "^2.3.3" + } +} diff --git a/test/dataset/in/test.json b/test/dataset/in/test.json new file mode 100644 index 0000000..8345387 --- /dev/null +++ b/test/dataset/in/test.json @@ -0,0 +1,4 @@ +[ + { "id1": "f70a9b51-87a1-4b97-b54d-4a1ea84d1de7" }, + { "id1": "2b6372af-c83c-4379-944c-f1bff3ab25d8" } +] diff --git a/test/run.js b/test/run.js new file mode 100644 index 0000000..15be0ed --- /dev/null +++ b/test/run.js @@ -0,0 +1,48 @@ +/* global __dirname, require, process, it */ + +'use strict'; + +var + fs = require('fs') + , pkg = require('../package.json') + , business = require('../index.js') + , testData = require('./dataset/in/test.json') + , chai = require('chai') + , expect = chai.expect + ; + +describe(pkg.name + '/index.js', function () { + describe('#doTheJob', function () { + + it('docObject qui renvoie canvasOK @1', function (done) { + var docObject; + business.doTheJob(docObject = testData[0], function (err) { + expect(err).to.be.undefined; + expect(docObject.canvasOK).to.be.true; + done(); + }); + }); + + it('docObject qui ne renvoie pas canvasOK @2', function (done) { + var docObject; + business.doTheJob(docObject = testData[1], function (err) { + expect(err).to.be.not.undefined; + expect(err.code).to.equal(1); + expect(docObject.canvasOK).to.be.false; + done(); + }); + }); + + it('docObjects qui renvoie un docObject en erreur et modifie l\'autre @3', function (done) { + var docObjects = testData; + business.finalJob(docObjects, function (err) { + expect(err).to.be.not.undefined; + expect(err.length, 'err.length').to.equal(1); + expect(docObjects.length, 'docObjects.length').to.equal(1); + expect(docObjects[0].ending).to.equal('finalJob'); + done(); + }); + }); + + }); +});