Tests de la classe principale désactivés temporairement.

This commit is contained in:
Fabrice PENHOËT 2021-10-20 17:27:39 +02:00
parent 48fc8580c7
commit ae1bc5339b
1 changed files with 91 additions and 5 deletions

View File

@ -2,8 +2,9 @@ import { FreeDatas2HTML, Render} from "../src/freeDatas2HTML";
const errors=require("../src/errors.js");
const fixtures=require("./fixtures.js");
/// Tests à revoir pour ne pas dépendre du bon fonctionnement de Parser et Render.
/// EN CHANTIER !!!
/// Tests à revoir après avoir fait le tour des autres classes
/*
describe("Test du script central de FreeDatas2HTML", () =>
{
let converter: FreeDatas2HTML;
@ -143,8 +144,9 @@ describe("Test du script central de FreeDatas2HTML", () =>
{
converter.datasViewElt={ id:"datas" };
await converter.run();
const render=new Render(converter);
const htmlForDatas=render.rend2HTML(converter.datas);
const render=new Render();
render.datas=converter.datas;
const htmlForDatas=render.rend2HTML();
// On ne peut comparer directement au contenu du DOM,
// car le navigateur change certains caractères (exemple : ">" devient ">")
expect(converter.datasHTML).toEqual(htmlForDatas);
@ -226,4 +228,88 @@ describe("Test du script central de FreeDatas2HTML", () =>
}); */
});
/*
describe("Création et action des sélecteurs liés à la pagination des données.", () =>
{
beforeEach( () =>
{
pagination.options={ displayElement: { id:"paginationOptions" }, values: [10,20,50,500] , name: "Choix de pagination :" };
pagination.selectedValue=10;
pagination.options2HTML();
converter.pagination=pagination;
//converter.refreshView();
});
it("Si une valeur de pagination par défaut fournie, ne doit pas afficher plus de données.", () =>
{
let getTR=document.getElementsByTagName("tr");
expect(getTR.length).toEqual(pagination.selectedValue+1); // 1er TR sert aux titres
});
it("La manipulation du sélecteur de pagination doit appeler la fonction actualisant l'affichage.", () =>
{
spyOn(converter, "refreshView");
let selectElement=document.getElementById("freeDatas2HTMLPaginationSelector") as HTMLInputElement;
selectElement.value="2";
selectElement.dispatchEvent(new Event('change'));
expect(converter.refreshView).toHaveBeenCalledTimes(1);
selectElement.value="0";
selectElement.dispatchEvent(new Event('change'));
expect(converter.refreshView).toHaveBeenCalledTimes(2);
});
it("Si une des options de pagination fournies est sélectionnée, doit afficher le nombre de résultats correspondants.", () =>
{
let selectElement=document.getElementById("freeDatas2HTMLPaginationSelector") as HTMLInputElement;
selectElement.value="2"; // = 20 éléments / page
selectElement.dispatchEvent(new Event('change'));
let getTR=document.getElementsByTagName("tr");
expect(getTR.length).toEqual(21);
selectElement.value="3"; // = 50 éléments / page
selectElement.dispatchEvent(new Event('change'));
getTR=document.getElementsByTagName("tr");
expect(getTR.length).toEqual(51);
selectElement.value="0"; // = pas de Pagination, on affiche les 118 lignes du fichier
selectElement.dispatchEvent(new Event('change'));
getTR=document.getElementsByTagName("tr");
expect(getTR.length).toEqual(119);
});
it("Si il y a plus de données que le nombre de lignes autorisées par page, un <select> listant les pages doit être affiché.", () =>
{
let selectElement=document.getElementById("pages").innerHTML;
expect(selectElement).toEqual(fixtures.selectorForPages);
});
it("La manipulation du sélecteur de pages doit appeler la fonction actualisant l'affichage.", () =>
{
spyOn(converter, "refreshView");
let selectElement=document.getElementById("freeDatas2HTMLPagesSelector") as HTMLInputElement;
selectElement.value="2";
selectElement.dispatchEvent(new Event('change'));
expect(converter.refreshView).toHaveBeenCalledTimes(1);
selectElement.value="0";
selectElement.dispatchEvent(new Event('change'));
expect(converter.refreshView).toHaveBeenCalledTimes(2);
});
it("Si l'utilisateur sélectionne une des pages proposées, l'affichage des résultats doit s'adapter en prenant en compte la pagination sélectionnée.", () =>
{
let selectElement=document.getElementById("freeDatas2HTMLPaginationSelector") as HTMLInputElement;
selectElement.value="3"; // = 50 éléments / page
selectElement.dispatchEvent(new Event('change'));
selectElement=document.getElementById("freeDatas2HTMLPagesSelector") as HTMLInputElement;
selectElement.value="2";
selectElement.dispatchEvent(new Event('change'));
let getTR=document.getElementsByTagName("tr");
expect(getTR[1].innerHTML).toEqual(fixtures.firstLineForPageSelection1);
expect(getTR[50].innerHTML).toEqual(fixtures.lastLineForPageSelection1);
selectElement.value="3"; // troisième page = incomplète (18 enregistrements)
selectElement.dispatchEvent(new Event('change'));
getTR=document.getElementsByTagName("tr");
expect(getTR[1].innerHTML).toEqual(fixtures.firstLineForPageSelection2);
expect(getTR[18].innerHTML).toEqual(fixtures.lastLineForPageSelection2);
expect(getTR[50]).toBeUndefined();
});
});
});*/