Multipage Tour (with session-cookie to next page)
Change-Id: I39d7ec4b5b403176e3f7800612f4ea4107ad5fed
diff --git a/dev/js/spec/tourSpec.js b/dev/js/spec/tourSpec.js
index b4d7ebb..f30cc32 100644
--- a/dev/js/spec/tourSpec.js
+++ b/dev/js/spec/tourSpec.js
@@ -4,7 +4,7 @@
* @author Helge Stallkamp
*/
-define(['tour/tours', 'vc'], function(tourClass, vcClass){
+define(['tour/tours', 'vc', 'session'], function(tourClass, vcClass, sessionClass){
const loc = KorAP.Locale;
//TODO Read this file from the file system, see https://korap.ids-mannheim.de/gerrit/#/c/KorAP/Kalamar/+/2241/
@@ -12,7 +12,7 @@
"<form autocomplete='off' action='/' id='searchform'>" +
"<div id='searchbar' class=''>" +
"<input autocapitalize='off' autocomplete='off' autocorrect='off' autofocus='autofocus' id='q-field' name='q' placeholder='Finde ...' spellcheck='false' type='search'>" +
- "<button type='submit' title='Los!'><span>Los!</span></button>" +
+ "<button type='submit' id='qsubmit' title='Los!'><span>Los!</span></button>" +
"</div>" +
"<!-- Search in the following virtual collection -->"+
"<div id='vc-view'></div>" +
@@ -65,7 +65,7 @@
"</div>";
let template = document.createElement('template');
- html = introKorAP2.trim(); // Do not return a text node of whitespace as the result
+ html = introKorAP.trim(); // Do not return a text node of whitespace as the result
template.innerHTML = html;
intrkorap = template.content;
@@ -80,30 +80,39 @@
expect(intrkorap.querySelector('#ql-field').parentNode).not.toBeNull();
expect(intrkorap.querySelector('#glimpse')).not.toBeNull();
expect(intrkorap.querySelector('#view-tutorial')).not.toBeNull();
- expect(intrkorap.querySelector('#searchbar button[type=submit]')).not.toBeNull();
+ expect(intrkorap.querySelector('#qsubmit')).not.toBeNull();
});
it('Guided Tour should be started and display steps and labels in the right order', function(){
- let testTour = tourClass.guidedTour(intrkorap);
- testTour.start();
- let totalSteps = testTour.stepCount;
-
+ let searchTour = tourClass.gTstartSearch(intrkorap);
+ searchTour.start();
+ let totalSteps = searchTour.stepCount;
expect(document.querySelector(".introjs-tooltiptext").textContent).toEqual(loc.TOUR_sear1);
expect(document.querySelector(".introjs-skipbutton").textContent).toEqual(loc.TOUR_lskip);
expect(document.querySelector(".introjs-prevbutton").textContent).toEqual(loc.TOUR_lprev);
expect(document.querySelector(".introjs-nextbutton").textContent).toEqual(loc.TOUR_lnext);
- testTour.exit();
+ searchTour.exit();
for(let i = 2; i <= totalSteps; i++){
- testTour.goToStepNumber(i);
- expect(document.querySelector(".introjs-tooltiptext").textContent).toEqual(testTour.testIntros[i-1]);
+ searchTour.goToStepNumber(i);
+ expect(document.querySelector(".introjs-tooltiptext").textContent).toEqual(searchTour.testIntros[i-1]);
if(i == totalSteps){
- expect(document.querySelector('.introjs-donebutton').textContent).toEqual(loc.TOUR_ldone);
+ 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);
}
- testTour.exit();
- }
+ searchTour.exit();
+ }
+
+ let resultTour = tourClass.gTshowResults(intrkorap);
+ KorAP.session = sessionClass.create('KalamarJSDem');
+ resultTour.start();
+ expect(document.querySelector(".introjs-tooltiptext").textContent).toEqual(loc.TOUR_result);
+ expect(document.querySelector(".introjs-donebutton").textContent).toEqual(loc.TOUR_ldone);
+ resultTour.exit();
+
});
});
}