Skip to content

Commit 4909dff

Browse files
committed
added extra test case for actual browser select in multiple
1 parent afcce0e commit 4909dff

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

tests/spec/select/selectSpec.js

+30
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,42 @@ describe("Select Plugin", function () {
7373

7474
setTimeout(function() {
7575
expect(multipleDropdown).toBeHidden('Should be hidden after choosing item.');
76+
expect(browserSelect.val()).toEqual(['1', '2', '3'], 'Actual select should have correct selected values.');
7677
expect(multipleInput.val()).toEqual(secondOption[0].innerText + ', ' + thirdOption[0].innerText + ', ' + firstOption[0].innerText, 'Value should equal chosen multiple options.');
7778
done();
7879
}, 400);
7980
}, 400);
8081
});
8182

83+
it("should open dropdown and deselect multiple options", function(done) {
84+
multipleInput = browserSelect.parent().find('input.select-dropdown');
85+
multipleDropdown = browserSelect.parent().find('ul.select-dropdown');
86+
87+
expect(multipleInput).toExist('Should dynamically generate select dropdown structure.');
88+
expect(multipleDropdown).toExist('Should dynamically generate select dropdown structure.');
89+
expect(multipleInput).toBeVisible('Should be hidden before dropdown is opened.');
90+
expect(multipleDropdown).toBeHidden('Should be hidden before dropdown is opened.');
91+
92+
multipleInput.click();
93+
94+
setTimeout(function() {
95+
expect(multipleDropdown).toBeVisible('Should be visible after opening.');
96+
var disabledOption = multipleDropdown.find('li.disabled');
97+
var secondOption = multipleDropdown.find('li:not(.disabled)').eq(1);
98+
var thirdOption = multipleDropdown.find('li:not(.disabled)').eq(2);
99+
secondOption.click();
100+
thirdOption.click();
101+
$('body').click();
102+
103+
setTimeout(function() {
104+
expect(multipleDropdown).toBeHidden('Should be hidden after choosing item.');
105+
expect(browserSelect.val()).toEqual(null, 'Actual select element should be empty because none chosen.');
106+
expect(multipleInput.val()).toEqual(disabledOption[0].innerText, 'Value should equal default because none chosen.');
107+
done();
108+
}, 400);
109+
}, 400);
110+
});
111+
82112
it("should have multiple pre-selected values", function () {
83113
multipleInput = browserSelect.parent().find('input.select-dropdown');
84114
multipleDropdown = browserSelect.parent().find('ul.select-dropdown');

0 commit comments

Comments
 (0)