diff --git a/tests/freeCSV2HTMLSpec.ts b/tests/freeCSV2HTMLSpec.ts index e69de29..9c0a3db 100644 --- a/tests/freeCSV2HTMLSpec.ts +++ b/tests/freeCSV2HTMLSpec.ts @@ -0,0 +1,57 @@ +import { freeCSV2HTML } from "../src/freeCSV2HTML"; +const errors=require("../src/errors.js"); + +describe("freeCSV2HTML", function() +{ + let converter: freeCSV2HTML; + const fixture="
"; + + beforeEach(function() + { + converter=new freeCSV2HTML(); + document.body.insertAdjacentHTML('afterbegin', fixture); + }); + + afterEach(function() + { + document.body.removeChild(document.getElementById('fixture')); + }); + + it("Doit être une instance de freeCSV2HTML", function() + { + expect(converter).toBeInstanceOf(freeCSV2HTML); + }); + + describe("Setting freeCSV2HTML", function() + { + it("Doit générer une erreur s'il n'y a pas d'élément dans la page pour l'id fourni pour recevoir les données.", function() + { + expect(function() { return converter.datasEltId="dontExistId"; }).toThrowError(errors.elementNotFound+"dontExistId"); + }); + + it("Ne doit pas générer une erreur s'il y a un élément dans la page pour l'id fourni pour recevoir les données.", function() + { + expect(function() { return converter.datasEltId="datas"; }).not.toThrowError(); + }); + + it("Doit générer une erreur si l'url fournie pour le fichier csv n'est pas valide.", function() + { + expect(function() { return converter.datasUrl="http:/localhost:8080/datas/elements-chimiques.csv"; }).toThrowError(errors.urlNotValid); + }); + + it("Ne doit pas générer une erreur si l'url fournie pour le fichier csv est pas valide.", function() + { + expect(function() { return converter.datasUrl="http://localhost:8080/datas/elements-chimiques.csv"; }).not.toThrowError(); + }); + + it("Doit générer une erreur s'il n'y a pas d'éléments dans la page pour les ids fournis pour recevoir les sélecteurs.", function() + { + expect(function() { return converter.datasSelectors=[{ colCSV:2, idElt:"selector2"},{ colCSV:3, idElt:"selector3"}]; }).toThrowError(errors.elementNotFound+"select3"); + }); + + it("Ne doit pas générer une erreur s'il y a bien un élément dans la page pour chaque id fourni pour recevoir un sélecteur.", function() + { + expect(function() { return converter.datasSelectors=[{ colCSV:2, idElt:"selector1"},{ colCSV:3, idElt:"selector2"}]; }).not.toThrowError(); + }); + }); +}); \ No newline at end of file