Audioconf : Tasks refactor tests === PR #1: Add 2 environements for knexfile - KnexFile.js - return the client Knex for DATABASE_URL - setup test.js - override DATABASE_URL with __test - before/after : call a createDB, removeDB for each tests - db.js - Replace the call of require("knex") in db.js by the call on knexfile.js - knex.destroy destoys the connection pool. How to reinit it afterwards ? PR #2 - make 2 new folders test/unit and test/integration - modify call in package.json with the test command with TEST_MODE=true - modify node.js.yml to run also npm:integration PR #3 - refactor job anonymizeConference to return a conferences (and not void) - sendSurveyEmails - must require emailer and not directly sendSurveyEmail to be mockable - use emails.length and remove nbEmails - db.js.anonymizeConferences - must return an empty array PR #4 - refactor dbTest.js - add lib/testUtils.js to reinit the test database PR #5 - add anonymizeTest.js PR #6 - add sendSurveyEmail.js Questions - certaines choses pas prévisibles: pas possible de mocker sendSurveyEmail directement, mais obligé de passer par l'objet emailer - le mécanisme de réinit de la base, a marchoté pendant un certain temps et la solution a mis du temps à émerger.