Mise à jour du nom d'un attribut.

This commit is contained in:
Fabrice PENHOËT 2021-08-31 16:22:28 +02:00
parent ef55d87cb4
commit 55f9e8ad91
4 changed files with 14 additions and 14 deletions

View File

@ -6,7 +6,7 @@ const initialise = async () =>
{ {
let converter=new freeDatas2HTML(); let converter=new freeDatas2HTML();
converter.datasViewElt={ id:"datas" }; converter.datasViewElt={ id:"datas" };
converter.datasSelectors=[{ datasFielNb:3, id:"filtre1"},{ datasFielNb:4, id:"filtre2"}]; converter.datasSelectors=[{ datasFieldNb:3, id:"filtre1"},{ datasFieldNb:4, id:"filtre2"}];
converter.datasSourceUrl="http://localhost:8080/datas/elements-chimiques.csv"; converter.datasSourceUrl="http://localhost:8080/datas/elements-chimiques.csv";
await converter.run(); await converter.run();
} }

View File

@ -45,7 +45,7 @@ export class freeDatas2HTML
checkContainerExist=document.getElementById(selectionElts[i].id); checkContainerExist=document.getElementById(selectionElts[i].id);
if(checkContainerExist === null) if(checkContainerExist === null)
console.error(errors.elementNotFound+selectionElts[i].id); console.error(errors.elementNotFound+selectionElts[i].id);
else if(Number.isInteger( selectionElts[i].datasFielNb) === false || selectionElts[i].datasFielNb < 0) else if(Number.isInteger( selectionElts[i].datasFieldNb) === false || selectionElts[i].datasFieldNb < 0)
console.error(errors.needNaturalNumber); console.error(errors.needNaturalNumber);
else else
{ {
@ -126,11 +126,11 @@ export class freeDatas2HTML
let selectorsHTML : string [] = []; let selectorsHTML : string [] = [];
for(let i in this._datasSelectors) for(let i in this._datasSelectors)
{ {
if(this._datasSelectors[i].datasFielNb > (this.parseMeta!.fields.length-1)) if(this._datasSelectors[i].datasFieldNb > (this.parseMeta!.fields.length-1))
throw new Error(errors.selectorFieldNotFound); throw new Error(errors.selectorFieldNotFound);
else else
{ {
let values=[], colName=this.parseMeta!.fields[this._datasSelectors[i].datasFielNb]; let values=[], colName=this.parseMeta!.fields[this._datasSelectors[i].datasFieldNb];
for (let row in this.parseDatas) for (let row in this.parseDatas)
{ {
if(values.indexOf(this.parseDatas[row][colName].trim()) === -1) if(values.indexOf(this.parseDatas[row][colName].trim()) === -1)

View File

@ -5,7 +5,7 @@ export interface domElement
} }
export interface selectors extends domElement export interface selectors extends domElement
{ {
datasFielNb: number; datasFieldNb: number;
name?: string; name?: string;
values? : string[]; values? : string[];
} }

View File

@ -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.", () => 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.length).toEqual(1);
expect(converter.datasSelectors[0].id).toEqual("selector2"); 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.", () => 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.length).toEqual(1);
expect(converter.datasSelectors[0].id).toEqual("selector2"); 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.length).toEqual(1);
expect(converter.datasSelectors[0].id).toEqual("selector1"); expect(converter.datasSelectors[0].id).toEqual("selector1");
}); });
it("Doit accepter tous les sélecteurs si leurs informations sont valides.", () => 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); expect(converter.datasSelectors.length).toEqual(2);
}); });
@ -158,19 +158,19 @@ 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 () => 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"}];
await expectAsync(converter.run()).toBeRejectedWith(new Error(errors.selectorFieldNotFound)); 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 () => 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(); 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 () => 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(); await converter.run();
expect(document.getElementById("selector1").innerHTML).toEqual(fixtures.selector1HTML); expect(document.getElementById("selector1").innerHTML).toEqual(fixtures.selector1HTML);
expect(document.getElementById("selector2").innerHTML).toEqual(fixtures.selector2HTML); expect(document.getElementById("selector2").innerHTML).toEqual(fixtures.selector2HTML);
@ -178,7 +178,7 @@ describe("freeDatas2HTML", () =>
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'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 () =>
{ {
converter.datasSelectors=[{ datasFielNb:3, id:"selector1"},{ datasFielNb:4, id:"selector2"}]; converter.datasSelectors=[{ datasFieldNb:3, id:"selector1"},{ datasFieldNb:4, id:"selector2"}];
await converter.run(); await converter.run();
let selectElement = document.getElementById("freeDatas2HTMLSelector0") as HTMLInputElement; let selectElement = document.getElementById("freeDatas2HTMLSelector0") as HTMLInputElement;
@ -195,7 +195,7 @@ describe("freeDatas2HTML", () =>
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 aux différents 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(); await converter.run();
let selectElement = document.getElementById("freeDatas2HTMLSelector0") as HTMLInputElement; let selectElement = document.getElementById("freeDatas2HTMLSelector0") as HTMLInputElement;