Skip to content

Commit 9693946

Browse files
pawelczakpawelczak
authored andcommitted
Closes #79. Categories feature works with processData.
1 parent c3bb353 commit 9693946

File tree

1 file changed

+181
-0
lines changed

1 file changed

+181
-0
lines changed

test/core/categories.js

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -539,6 +539,187 @@ QUnit.test("Category - xml - two list", function( assert ) {
539539
assert.equal("Yam", elements.eq(11).find("div").text(), "Last element value");
540540

541541

542+
QUnit.start();
543+
}
544+
});
545+
546+
QUnit.test("Category and processData - sort", function( assert ) {
547+
expect(15);
548+
549+
//given
550+
var completerOne = new EasyAutocomplete.main($("#inputOne"),
551+
{
552+
categories: [{
553+
listLocation: "fruits",
554+
header: "--- FRUITS ---"
555+
},{
556+
listLocation: "vegetables",
557+
header: "--- vegetables ---"
558+
}],
559+
url: "resources/categories.json",
560+
561+
list: {
562+
sort: {
563+
enabled: true
564+
}
565+
},
566+
567+
ajaxCallback: function() {
568+
569+
//assert
570+
assertList();
571+
}
572+
});
573+
574+
575+
//execute
576+
completerOne.init();
577+
578+
var e = $.Event('keyup');
579+
e.keyCode = 50;
580+
$("#inputOne").val("c").trigger(e);
581+
582+
583+
QUnit.stop();
584+
585+
586+
//assert
587+
function assertList() {
588+
var elements = $("#inputOne").next().find("ul").find(" > div, > li");
589+
590+
assert.equal(14, elements.length, "Response size");
591+
assert.equal("--- FRUITS ---", elements.eq(0).text(), "Header - first category");
592+
assert.equal("Apple", elements.eq(1).find("div").text(), "Apple element value - first category");
593+
assert.equal("Cherry", elements.eq(2).find("div").text(), "Cherry element value - first category");
594+
assert.equal("Clementine", elements.eq(3).find("div").text(), "Clementine element value - first category");
595+
assert.equal("Honeydew melon", elements.eq(4).find("div").text(), "Honeydew melon element value - first category");
596+
assert.equal("Satsuma", elements.eq(5).find("div").text(), "Satsuma element value - first category");
597+
assert.equal("Watermelon", elements.eq(6).find("div").text(), "Watermelon element value - first category");
598+
assert.equal("--- vegetables ---", elements.eq(7).text(), "Header - second category");
599+
assert.equal("Courgette", elements.eq(8).find("div").text(), "Courgette element value - second category");
600+
assert.equal("Fennel", elements.eq(9).find("div").text(), "Fennel element value - second category");
601+
assert.equal("Green bean", elements.eq(10).find("div").text(), "Green bean element value - second category");
602+
assert.equal("Jerusalem artichoke", elements.eq(11).find("div").text(), "Jerusalem artichoke element value - second category");
603+
assert.equal("Pepper", elements.eq(12).find("div").text(), "Pepper element value - second category");
604+
assert.equal("Yam", elements.eq(13).find("div").text(), "Yam element value - second category");
605+
606+
QUnit.start();
607+
}
608+
});
609+
610+
611+
QUnit.test("Category and processData - match", function( assert ) {
612+
expect(9);
613+
614+
//given
615+
var completerOne = new EasyAutocomplete.main($("#inputOne"),
616+
{
617+
categories: [{
618+
listLocation: "fruits",
619+
header: "--- FRUITS ---"
620+
},{
621+
listLocation: "vegetables",
622+
header: "--- vegetables ---"
623+
}],
624+
url: "resources/categories.json",
625+
626+
list: {
627+
match: {
628+
enabled: true
629+
}
630+
},
631+
632+
ajaxCallback: function() {
633+
634+
//assert
635+
assertList();
636+
}
637+
});
638+
639+
640+
//execute
641+
completerOne.init();
642+
643+
var e = $.Event('keyup');
644+
e.keyCode = 50;
645+
$("#inputOne").val("a").trigger(e);
646+
647+
648+
QUnit.stop();
649+
650+
651+
//assert
652+
function assertList() {
653+
var elements = $("#inputOne").next().find("ul").find(" > div, > li");
654+
655+
assert.equal(8, elements.length, "Response size");
656+
assert.equal("--- FRUITS ---", elements.eq(0).text(), "Header - first category");
657+
assert.equal("Apple", elements.eq(1).find("div").text(), "Apple element value - first category");
658+
assert.equal("Watermelon", elements.eq(2).find("div").text(), "Watermelon element value - first category");
659+
assert.equal("Satsuma", elements.eq(3).find("div").text(), "Satsuma element value - first category");
660+
assert.equal("--- vegetables ---", elements.eq(4).text(), "Header - second category");
661+
assert.equal("Jerusalem artichoke", elements.eq(5).find("div").text(), "Jerusalem artichoke element value - second category");
662+
assert.equal("Green bean", elements.eq(6).find("div").text(), "Green bean element value - second category");
663+
assert.equal("Yam", elements.eq(7).find("div").text(), "Yam element value - second category");
664+
665+
QUnit.start();
666+
}
667+
});
668+
669+
QUnit.test("Category and processData - maxNumberOfElements", function( assert ) {
670+
expect(11);
671+
672+
//given
673+
var completerOne = new EasyAutocomplete.main($("#inputOne"),
674+
{
675+
categories: [{
676+
listLocation: "fruits",
677+
header: "--- FRUITS ---"
678+
},{
679+
listLocation: "vegetables",
680+
header: "--- vegetables ---"
681+
}],
682+
url: "resources/categories.json",
683+
684+
list: {
685+
maxNumberOfElements: 4
686+
},
687+
688+
ajaxCallback: function() {
689+
690+
//assert
691+
assertList();
692+
}
693+
});
694+
695+
696+
//execute
697+
completerOne.init();
698+
699+
var e = $.Event('keyup');
700+
e.keyCode = 50;
701+
$("#inputOne").val("a").trigger(e);
702+
703+
704+
QUnit.stop();
705+
706+
707+
//assert
708+
function assertList() {
709+
var elements = $("#inputOne").next().find("ul").find(" > div, > li");
710+
711+
assert.equal(10, elements.length, "Response size");
712+
assert.equal("--- FRUITS ---", elements.eq(0).text(), "Header - first category");
713+
assert.equal("Apple", elements.eq(1).find("div").text(), "Apple element value - first category");
714+
assert.equal("Cherry", elements.eq(2).find("div").text(), "Cherry element value - first category");
715+
assert.equal("Clementine", elements.eq(3).find("div").text(), "Clementine element value - first category");
716+
assert.equal("Honeydew melon", elements.eq(4).find("div").text(), "Honeydew melon element value - first category");
717+
assert.equal("--- vegetables ---", elements.eq(5).text(), "Header - second category");
718+
assert.equal("Pepper", elements.eq(6).find("div").text(), "Pepper element value - second category");
719+
assert.equal("Jerusalem artichoke", elements.eq(7).find("div").text(), "Jerusalem artichoke element value - second category");
720+
assert.equal("Green bean", elements.eq(8).find("div").text(), "Green bean element value - second category");
721+
assert.equal("Fennel", elements.eq(9).find("div").text(), "Fennel element value - second category");
722+
542723
QUnit.start();
543724
}
544725
});

0 commit comments

Comments
 (0)