|
|
|
@ -36,24 +36,24 @@ describe("freeDatas2HTML", () =>
|
|
|
|
|
|
|
|
|
|
it("Ne doit accepter que les sélecteurs pour lesquels un élément a été trouvé dans la page pour l'id fourni.", () =>
|
|
|
|
|
{
|
|
|
|
|
converter.datasSelectors=[{ datasFielNb:2, id:"selector2" },{ datasFielNb:3, id:"selector3" }];
|
|
|
|
|
converter.datasSelectors=[{ datasFieldNb:2, id:"selector2" },{ datasFieldNb:3, id:"selector3" }];
|
|
|
|
|
expect(converter.datasSelectors.length).toEqual(1);
|
|
|
|
|
expect(converter.datasSelectors[0].id).toEqual("selector2");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it("Ne doit accepter que les sélecteurs pour lesquels les numéros de colonne fourrnis sont des nombres naturels.", () =>
|
|
|
|
|
{
|
|
|
|
|
converter.datasSelectors=[{ datasFielNb:2.3, id:"selector1" },{ datasFielNb:3, id:"selector2" }];
|
|
|
|
|
converter.datasSelectors=[{ datasFieldNb:2.3, id:"selector1" },{ datasFieldNb:3, id:"selector2" }];
|
|
|
|
|
expect(converter.datasSelectors.length).toEqual(1);
|
|
|
|
|
expect(converter.datasSelectors[0].id).toEqual("selector2");
|
|
|
|
|
converter.datasSelectors=[{ datasFielNb:2, id:"selector1" },{ datasFielNb:-1, id:"selector2" }];
|
|
|
|
|
converter.datasSelectors=[{ datasFieldNb:2, id:"selector1" },{ datasFieldNb:-1, id:"selector2" }];
|
|
|
|
|
expect(converter.datasSelectors.length).toEqual(1);
|
|
|
|
|
expect(converter.datasSelectors[0].id).toEqual("selector1");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it("Doit accepter tous les sélecteurs si leurs informations sont valides.", () =>
|
|
|
|
|
{
|
|
|
|
|
converter.datasSelectors=[{ datasFielNb:0, id:"selector1" },{ datasFielNb:3, id:"selector2" }];
|
|
|
|
|
converter.datasSelectors=[{ datasFieldNb:0, id:"selector1" },{ datasFieldNb:3, id:"selector2" }];
|
|
|
|
|
expect(converter.datasSelectors.length).toEqual(2);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
@ -129,7 +129,7 @@ describe("freeDatas2HTML", () =>
|
|
|
|
|
expect(txtDatasViewsElt).toEqual("");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it("Sauf si cela est demandé, même si des erreurs sont rencontrées durant la parsage, les données trouvées dans le fichier seront affichées.", async () =>
|
|
|
|
|
it("Sauf si cela est demandé, les données trouvées dans le fichier seront affichées même si des erreurs sont rencontrées durant la parsage.", async () =>
|
|
|
|
|
{
|
|
|
|
|
converter.datasViewElt={ id:"datas" };
|
|
|
|
|
converter.datasSourceUrl="http://localhost:9876/datas/datas-errors1.csv";
|
|
|
|
@ -158,27 +158,27 @@ describe("freeDatas2HTML", () =>
|
|
|
|
|
|
|
|
|
|
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=[{ datasFielNb:0, id:"selector1"},{ datasFielNb:5, id:"selector2"}];
|
|
|
|
|
converter.datasSelectors=[{ datasFieldNb:0, id:"selector1"},{ datasFieldNb:5, id:"selector2"}];// il y a bien 5 champs, mais la numérotation commence à 0 :-)
|
|
|
|
|
await expectAsync(converter.run()).toBeRejectedWith(new Error(errors.selectorFieldNotFound));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
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.datasSelectors=[{ datasFielNb:3, id:"selector1"},{ datasFielNb:4, id:"selector2"}];
|
|
|
|
|
converter.datasSelectors=[{ datasFieldNb:3, id:"selector1"},{ datasFieldNb:4, id:"selector2"}];
|
|
|
|
|
await expectAsync(converter.run()).not.toBeRejected();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it("Pour chaque sélecteur demandé, doit générer un élement <select> listant les valeurs distinctes du fichier, classées par ordre alphabétique.", async () =>
|
|
|
|
|
{
|
|
|
|
|
converter.datasSelectors=[{ datasFielNb:3, id:"selector1"},{ datasFielNb:4, id:"selector2"}];
|
|
|
|
|
converter.datasSelectors=[{ datasFieldNb:3, id:"selector1"},{ datasFieldNb:4, id:"selector2"}];
|
|
|
|
|
await converter.run();
|
|
|
|
|
expect(document.getElementById("selector1").innerHTML).toEqual(fixtures.selector1HTML);
|
|
|
|
|
expect(document.getElementById("selector2").innerHTML).toEqual(fixtures.selector2HTML);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it("Le choix d'un option dans un des sélecteurs doit modifier le contenu du tableau pour ne garder que les données correspondantes ou les afficher toutes si sélection 0.", async () =>
|
|
|
|
|
it("Le choix d'une option dans un des sélecteurs doit modifier le contenu du tableau pour ne garder que les données correspondantes ou les afficher toutes si sélection 0.", async () =>
|
|
|
|
|
{
|
|
|
|
|
converter.datasSelectors=[{ datasFielNb:3, id:"selector1"},{ datasFielNb:4, id:"selector2"}];
|
|
|
|
|
converter.datasSelectors=[{ datasFieldNb:3, id:"selector1"},{ datasFieldNb:4, id:"selector2"}];
|
|
|
|
|
await converter.run();
|
|
|
|
|
|
|
|
|
|
let selectElement = document.getElementById("freeDatas2HTMLSelector0") as HTMLInputElement;
|
|
|
|
@ -193,9 +193,9 @@ describe("freeDatas2HTML", () =>
|
|
|
|
|
expect(txtDatasViewsElt).toEqual(fixtures.datasHTML);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it("Si plusieurs sélecteurs sont utilisés, seules les données correspondant aux différents choix doivent être affichées. Il peut n'y avoir aucun résultat.", async () =>
|
|
|
|
|
it("Si plusieurs sélecteurs sont utilisés, seules les données correspondant à tous ces choix doivent être affichées. Il peut n'y avoir aucun résultat.", async () =>
|
|
|
|
|
{
|
|
|
|
|
converter.datasSelectors=[{ datasFielNb:3, id:"selector1"},{ datasFielNb:4, id:"selector2"}];
|
|
|
|
|
converter.datasSelectors=[{ datasFieldNb:3, id:"selector1"},{ datasFieldNb:4, id:"selector2"}];
|
|
|
|
|
await converter.run();
|
|
|
|
|
|
|
|
|
|
let selectElement = document.getElementById("freeDatas2HTMLSelector0") as HTMLInputElement;
|
|
|
|
|