Open hint and QL menu in the guided tour
Change-Id: I404b6c798fc403b9fd9e8bddaaf485c67a8d85e3
diff --git a/dev/js/spec/tourSpec.js b/dev/js/spec/tourSpec.js
index e495be4..5dac709 100644
--- a/dev/js/spec/tourSpec.js
+++ b/dev/js/spec/tourSpec.js
@@ -4,8 +4,9 @@
* @author Helge Stallkamp
*/
-define(['tour/tours', 'vc', 'session', 'match'], function(tourClass, vcClass, sessionClass, matchClass){
+define(['tour/tours', 'vc', 'session', 'match', 'hint', 'hint/foundries/cnx', 'selectMenu'], function(tourClass, vcClass, sessionClass, matchClass, hintClass, hintArray, selectMenuClass){
const loc = KorAP.Locale;
+
var introKorAP =
"<form autocomplete='off' action='/' id='searchform'>" +
"<div id='searchbar' class=''>" +
@@ -399,7 +400,7 @@
});
KorAP.vc = vc;
-
+
describe('KorAP.GuidedTour', function(){
afterAll(function () {
@@ -415,7 +416,9 @@
i--;
};
})
-
+
+ KorAP.Hint = hintClass.create({inputField: intrkorap.getElementById("q-field")});
+
it('IDs and classes, that are needed for the guided tour should be in existence', function(){
//gTstartSearch
expect(intrkorap.querySelector('#searchbar')).not.toBeNull();
@@ -447,6 +450,7 @@
});
it('Guided Tour should be started and display steps and labels in the right order', function(){
+
let vcpanel = intrkorap.getElementById("vc-view");
vcpanel.appendChild(vc.element());
let searchTour = tourClass.gTstartSearch(intrkorap);
@@ -461,17 +465,31 @@
for(let i = 2; i <= totalSteps; i++){
searchTour.goToStepNumber(i);
expect(document.querySelector(".introjs-tooltiptext").textContent).toEqual(searchTour.testIntros[i-1]);
+
+ switch(i){
+ case 4:
+ expect(intrkorap.querySelector('#hint')).not.toBeNull();
+ expect(KorAP.Hint).not.toBeNull();
+ expect(KorAP.Hint.active().dontHide).toBe(true);
+ expect(KorAP.Hint._active).not.toBeNull();
+ break;
- if(i == totalSteps){
- expect(document.querySelector(".introjs-donebutton").textContent).toEqual(loc.TOUR_seargo);
- expect(document.querySelector(".introjs-prevbutton").textContent).toEqual(loc.TOUR_lprev);
- expect(document.querySelector(".introjs-nextbutton").classList.contains("introjs-disabled")).toBe(true);
- }
+ case 5:
+ expect(KorAP.Hint._active).toBeNull();
+ break;
+
+ case totalSteps:
+ expect(document.querySelector(".introjs-donebutton").textContent).toEqual(loc.TOUR_seargo);
+ expect(document.querySelector(".introjs-prevbutton").textContent).toEqual(loc.TOUR_lprev);
+ expect(document.querySelector(".introjs-nextbutton").classList.contains("introjs-disabled")).toBe(true);
+ break;
+ }
searchTour.exit();
}
let resultTour = tourClass.gTshowResults(resultkor);
KorAP.session = sessionClass.create('KalamarJSDem');
+
resultTour.start(resultkor);
let totalStepsR = resultTour.stepCount;
expect(document.querySelector(".introjs-tooltiptext").textContent).toEqual(loc.TOUR_kwic);
@@ -479,8 +497,7 @@
expect(document.querySelector(".introjs-prevbutton").textContent).toEqual(loc.TOUR_lprev);
expect(document.querySelector(".introjs-nextbutton").textContent).toEqual(loc.TOUR_lnext);
resultTour.exit();
-
- for(let i = 2; i <= totalStepsR; i++){
+ for(let i = 2; i <= totalStepsR; i++){
resultTour.goToStepNumber(i);
expect(document.querySelector(".introjs-tooltiptext").textContent).toEqual(resultTour.testIntros[i-1]);
if(i == totalStepsR){
@@ -489,5 +506,18 @@
resultTour.exit();
}
});
+
+ it('Guided Tour should hide Hint and QL Menu if aborted', function(){
+ let tourAbort = tourClass.gTstartSearch(intrkorap);
+ tourAbort.start();
+ expect(KorAP.Hint._active).toBeNull();
+ expect(document.querySelector(".introjs-skipbutton")).not.toBeNull();
+ tourAbort.goToStepNumber(4);
+ expect(KorAP.Hint._active).not.toBeNull()
+ expect(KorAP.Hint.active().dontHide).toBe(true);
+ tourAbort.exit();
+ expect(KorAP.Hint._active).toBeNull();
+ });
+
});
});