Abondance des éléments dans la croûte terrestre (μg/k)
109
Meitnérium
Mt
Indéfinie
Inexistant
110
Darmstadtium
Ds
Indéfinie
Inexistant
111
Roentgenium
Rg
Indéfinie
Inexistant
113
Nihonium
Nh
Indéfinie
Inexistant
114
Flérovium
Fl
Indéfinie
Inexistant
115
Moscovium
Mc
Indéfinie
Inexistant
116
Livermorium
Lv
Indéfinie
Inexistant
117
Tennesse
Ts
Indéfinie
Inexistant
118
Oganesson
Og
Indéfinie
Inexistant
',
- datasHTMLForSelect2:'
Z (numéro atomique)
Élément
Symbole
Famille
Abondance des éléments dans la croûte terrestre (μg/k)
43
Technétium
Tc
Métal de transition
Traces
61
Prométhium
Pm
Lanthanide
Traces
85
Astate
At
Métalloïde
Traces
87
Francium
Fr
Métal alcalin
Traces
93
Neptunium
Np
Actinide
Traces
94
Plutonium
Pu
Actinide
Traces
',
- datasHTMLForSelect3:'
Z (numéro atomique)
Élément
Symbole
Famille
Abondance des éléments dans la croûte terrestre (μg/k)
2
Hélium
He
Gaz noble
> 1 et < 100 000
10
Néon
Ne
Gaz noble
> 1 et < 100 000
18
Argon
Ar
Gaz noble
> 1 et < 100 000
',
- datasHTMLForSelect4:'
Z (numéro atomique)
Élément
Symbole
Famille
Abondance des éléments dans la croûte terrestre (μg/k)
',
+ datasHTMLFor1Select: '
Z (numéro atomique)
Élément
Symbole
Famille
Abondance des éléments dans la croûte terrestre (μg/k)
109
Meitnérium
Mt
Indéfinie
Inexistant
110
Darmstadtium
Ds
Indéfinie
Inexistant
111
Roentgenium
Rg
Indéfinie
Inexistant
113
Nihonium
Nh
Indéfinie
Inexistant
114
Flérovium
Fl
Indéfinie
Inexistant
115
Moscovium
Mc
Indéfinie
Inexistant
116
Livermorium
Lv
Indéfinie
Inexistant
117
Tennesse
Ts
Indéfinie
Inexistant
118
Oganesson
Og
Indéfinie
Inexistant
',
+ datasHTMLFor2Select:'
Z (numéro atomique)
Élément
Symbole
Famille
Abondance des éléments dans la croûte terrestre (μg/k)
2
Hélium
He
Gaz noble
> 1 et < 100 000
10
Néon
Ne
Gaz noble
> 1 et < 100 000
18
Argon
Ar
Gaz noble
> 1 et < 100 000
',
+ datasHTMLFor2SelectNone:'
Z (numéro atomique)
Élément
Symbole
Famille
Abondance des éléments dans la croûte terrestre (μg/k)
',
}
\ No newline at end of file
diff --git a/tests/freeCSV2HTMLSpec.ts b/tests/freeCSV2HTMLSpec.ts
index 9dcd517..e98f34d 100644
--- a/tests/freeCSV2HTMLSpec.ts
+++ b/tests/freeCSV2HTMLSpec.ts
@@ -22,41 +22,41 @@ describe("freeCSV2HTML", () =>
expect(converter).toBeInstanceOf(freeCSV2HTML);
});
- describe("Setting freeCSV2HTML", () =>
+ describe("Test des données de configuration reçues.", () =>
{
it("Doit générer une erreur s'il n'y a pas d'élément dans la page pour l'id fourni pour afficher les données.", () =>
{
- expect( () => { return converter.datasViewElt={ id:"dontExistId" }; }).toThrowError(errors.elementNotFound+"dontExistId");
+ expect(() => { return converter.datasViewElt={ id:"dontExist" }; }).toThrowError(errors.elementNotFound+"dontExist");
});
it("Ne doit pas générer une erreur s'il y a bien un élément dans la page pour l'id fourni pour afficher les données.", () =>
{
- expect( () => { return converter.datasViewElt={ id:"datas" }; }).not.toThrowError();
+ expect(() => { return converter.datasViewElt={ id:"datas" }; }).not.toThrowError();
});
- it("Doit générer une erreur s'il n'y a pas d'éléments dans la page pour chaque id fourni pour afficher un des sélecteurs.", () =>
+ it("Doit générer une erreur s'il n'y a pas un élément dans la page pour chaque id fourni pour afficher un des sélecteurs.", () =>
{
- expect( () =>{ return converter.datasSelectors=[{ colCSV:2, id:"selector2"},{ colCSV:3, id:"selector3"}]; }).toThrowError(errors.elementNotFound+"selector3");
+ expect(() =>{ return converter.datasSelectors=[{ colCSV:2, id:"selector2" },{ colCSV:3, id:"selector3" }]; }).toThrowError(errors.elementNotFound+"selector3");
});
it("Doit générer une erreur si tous les numéros de colonne des sélecteurs ne sont pas des nombres naturels.", () =>
{
- expect( () => { return converter.datasSelectors=[{ colCSV:2.3, id:"selector1"},{ colCSV:3, id:"selector2"}]; }).toThrowError(errors.needNaturalNumber);
- expect( () => { return converter.datasSelectors=[{ colCSV:2, id:"selector1"},{ colCSV:-1, id:"selector2"}]; }).toThrowError(errors.needNaturalNumber);
+ expect(() => { return converter.datasSelectors=[{ colCSV:2.3, id:"selector1" },{ colCSV:3, id:"selector2" }]; }).toThrowError(errors.needNaturalNumber);
+ expect(() => { return converter.datasSelectors=[{ colCSV:2, id:"selector1" },{ colCSV:-1, id:"selector2" }]; }).toThrowError(errors.needNaturalNumber);
});
- it("Ne doit pas générer une erreur si les informations fournies pour les sélecteurs sont correctes.", () =>
+ it("Ne doit pas générer une erreur si toutes les informations fournies pour les sélecteurs sont correctes.", () =>
{
- expect( () => { return converter.datasSelectors=[{ colCSV:0, id:"selector1"},{ colCSV:3, id:"selector2"}]; }).not.toThrowError();
+ expect(() => { return converter.datasSelectors=[{ colCSV:0, id:"selector1" },{ colCSV:3, id:"selector2" }]; }).not.toThrowError();
});
it("Doit générer une erreur si l'url fournie pour le fichier de données est vide.", () =>
{
- expect( () => { return converter.datasSourceUrl=" "; }).toThrowError(errors.needUrl);
+ expect(() => { return converter.datasSourceUrl=" "; }).toThrowError(errors.needUrl);
});
});
- describe("Running freeCSV2HTML", () =>
+ describe("Parsage du fichier et création du tableau de données", () =>
{
it("Doit générer une erreur si au moins un des deux paramètres nécessaires au fonctionnement n'est pas fourni.", async () =>
{
@@ -68,21 +68,14 @@ describe("freeCSV2HTML", () =>
it("Doit générer une erreur si la lecture du fichier échoue.", async () =>
{
converter.datasViewElt={ id:"datas" };
- converter.datasSourceUrl="http://localhost:9876/datas/fake.csv";
+ converter.datasSourceUrl="http://localhost:9876/datas/dontExist.csv";
await expectAsync( converter.parse()).toBeRejectedWith(new Error(errors.parserFail));
});
- it("Ne doit pas générer d'erreur si les deux paramètres fournis sont ok.", async () =>
- {
- converter.datasViewElt={ id:"datas" };
- converter.datasSourceUrl="http://localhost:9876/datas/elements-chimiques.csv";
- await expectAsync( converter.run()).toBeResolved();
- });
-
it("Doit enregistrer la liste des erreurs rencontrées en parsant le fichier.", async () =>
{
converter.datasViewElt={ id:"datas" };
- converter.datasSourceUrl="http://localhost:9876/datas/elements-chimiques-erreurs.csv";
+ converter.datasSourceUrl="http://localhost:9876/datas/datas-errors1.csv";
await converter.parse();
expect(converter.parseErrors.length).toBeGreaterThan(0);
});
@@ -90,15 +83,22 @@ describe("freeCSV2HTML", () =>
it("Ne doit enregistrer aucune erreur de lecture si le fichier est ok.", async () =>
{
converter.datasViewElt={ id:"datas" };
- converter.datasSourceUrl="http://localhost:9876/datas/elements-chimiques.csv";
+ converter.datasSourceUrl="http://localhost:9876/datas/datas1.csv";
await converter.parse();
expect(converter.parseErrors.length).toEqual(0);
});
+ it("Ne doit pas générer d'erreur si les deux paramètres fournis sont ok.", async () =>
+ {
+ converter.datasViewElt={ id:"datas" };
+ converter.datasSourceUrl="http://localhost:9876/datas/datas1.csv";
+ await expectAsync( converter.run()).toBeResolved();
+ });
+
it("Doit afficher une erreur dans la page si aucune donnée n'a été trouvée dans le fichier.", async () =>
{
converter.datasViewElt={ id:"datas" };
- converter.datasSourceUrl="http://localhost:9876/datas/elements-chimiques-vide.csv";
+ converter.datasSourceUrl="http://localhost:9876/datas/nodatas.csv";
await converter.run();
let txtDatasViewsElt=document.getElementById("datas").innerHTML;
expect(txtDatasViewsElt).toEqual(errors.datasNotFound);
@@ -107,32 +107,35 @@ describe("freeCSV2HTML", () =>
it("Doit afficher un tableau correspondant aux données du fichier csv", async () =>
{
converter.datasViewElt={ id:"datas" };
- converter.datasSourceUrl="http://localhost:9876/datas/elements-chimiques.csv";
+ converter.datasSourceUrl="http://localhost:9876/datas/datas1.csv";
await converter.run();
let txtDatasViewsElt=document.getElementById("datas").innerHTML;
expect(txtDatasViewsElt).toEqual(fixtures.datasHTML);
});
+ });
- it("Doit générer une erreur si au moins un des numéros de colonne des sélecteurs ne correspond pas à une des colonne du fichier.", async () =>
+ describe("Création et action des sélecteurs permettant de filter les données affichées.", () =>
+ {
+ beforeEach( () =>
{
converter.datasViewElt={ id:"datas" };
- converter.datasSourceUrl="http://localhost:9876/datas/elements-chimiques.csv";
+ converter.datasSourceUrl="http://localhost:9876/datas/datas1.csv";
+ });
+
+ it("Doit générer une erreur si au moins un des numéros de colonne fournis pour les sélecteurs ne correspond pas à une des colonne du fichier.", async () =>
+ {
converter.datasSelectors=[{ colCSV:0, id:"selector1"},{ colCSV:5, id:"selector2"}];
await expectAsync(converter.run()).toBeRejectedWith(new Error(errors.selectorFieldNotFound));
});
- it("Ne doit pas générer d'erreur si tous les numéros de colonne des sélecteurs correspondent pas à une des colonne du fichier.", async () =>
+ it("Ne doit pas pas générer d'erreur si tous les numéros de colonne des sélecteurs correspondent pas à une des colonne du fichier.", async () =>
{
- converter.datasViewElt={ id:"datas" };
- converter.datasSourceUrl="http://localhost:9876/datas/elements-chimiques.csv";
converter.datasSelectors=[{ colCSV:3, id:"selector1"},{ colCSV:4, id:"selector2"}];
await expectAsync(converter.run()).not.toBeRejected();
});
- it("Pour chaque sélecteur demandé doit générer un élement