mirror of
https://github.com/Choices-js/Choices.git
synced 2024-05-15 20:16:39 +02:00
Add e2e tests for addItems: false
This commit is contained in:
parent
4193422cf6
commit
54c026ec61
|
@ -304,11 +304,59 @@ describe('Choices - select multiple', () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('adding items disabled', () => {
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
addItems: false,
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.get('[data-test-hook=add-items-disabled]')
|
||||||
|
.find('.choices')
|
||||||
|
.click();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('disables the search input', () => {
|
||||||
|
cy.get('[data-test-hook=add-items-disabled]')
|
||||||
|
.find('.choices__input--cloned')
|
||||||
|
.should('be.disabled');
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('on click', () => {
|
||||||
|
it('opens choice dropdown', () => {
|
||||||
|
cy.get('[data-test-hook=add-items-disabled]')
|
||||||
|
.find('.choices__list--dropdown')
|
||||||
|
.should('be.visible');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('attempting to select choice', () => {
|
||||||
|
let selectedChoice;
|
||||||
|
|
||||||
|
it('does not select choice', () => {
|
||||||
|
cy.get('[data-test-hook=add-items-disabled]')
|
||||||
|
.find('.choices__list--dropdown .choices__item')
|
||||||
|
.last()
|
||||||
|
.then($lastChoice => {
|
||||||
|
selectedChoice = $lastChoice;
|
||||||
|
})
|
||||||
|
.click();
|
||||||
|
|
||||||
|
cy.get('[data-test-hook=add-items-disabled]')
|
||||||
|
.find('.choices__list--multiple .choices__item')
|
||||||
|
.last()
|
||||||
|
.should($item => {
|
||||||
|
expect($item.text()).to.not.contain(selectedChoice.text());
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('selection limit', () => {
|
describe('selection limit', () => {
|
||||||
/*
|
/*
|
||||||
{
|
{
|
||||||
maxItemCount: 5,
|
maxItemCount: 5,
|
||||||
};
|
}
|
||||||
*/
|
*/
|
||||||
const selectionLimit = 5;
|
const selectionLimit = 5;
|
||||||
|
|
||||||
|
@ -344,7 +392,7 @@ describe('Choices - select multiple', () => {
|
||||||
{
|
{
|
||||||
prependValue: 'before-',
|
prependValue: 'before-',
|
||||||
appendValue: '-after',
|
appendValue: '-after',
|
||||||
};
|
}
|
||||||
*/
|
*/
|
||||||
let selectedChoiceText;
|
let selectedChoiceText;
|
||||||
|
|
||||||
|
@ -363,10 +411,6 @@ describe('Choices - select multiple', () => {
|
||||||
.click();
|
.click();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('works', () => {
|
|
||||||
expect(true).to.equal(true);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('prepends and appends value to inputted value', () => {
|
it('prepends and appends value to inputted value', () => {
|
||||||
cy.get('[data-test-hook=prepend-append]')
|
cy.get('[data-test-hook=prepend-append]')
|
||||||
.find('.choices__list--multiple .choices__item')
|
.find('.choices__list--multiple .choices__item')
|
||||||
|
@ -395,7 +439,7 @@ describe('Choices - select multiple', () => {
|
||||||
/*
|
/*
|
||||||
{
|
{
|
||||||
renderChoiceLimit: 1,
|
renderChoiceLimit: 1,
|
||||||
};
|
}
|
||||||
*/
|
*/
|
||||||
it('only displays given number of choices in the dropdown', () => {
|
it('only displays given number of choices in the dropdown', () => {
|
||||||
cy.get('[data-test-hook=render-choice-limit]')
|
cy.get('[data-test-hook=render-choice-limit]')
|
||||||
|
@ -409,9 +453,8 @@ describe('Choices - select multiple', () => {
|
||||||
/*
|
/*
|
||||||
{
|
{
|
||||||
searchFloor: 10,
|
searchFloor: 10,
|
||||||
};
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
describe('on input', () => {
|
describe('on input', () => {
|
||||||
describe('search floor not reached', () => {
|
describe('search floor not reached', () => {
|
||||||
it('displays choices not filtered by inputted value', () => {
|
it('displays choices not filtered by inputted value', () => {
|
||||||
|
|
|
@ -252,6 +252,54 @@ describe('Choices - select one', () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('adding items disabled', () => {
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
addItems: false,
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.get('[data-test-hook=add-items-disabled]')
|
||||||
|
.find('.choices')
|
||||||
|
.click();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('disables the search input', () => {
|
||||||
|
cy.get('[data-test-hook=add-items-disabled]')
|
||||||
|
.find('.choices__input--cloned')
|
||||||
|
.should('be.disabled');
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('on click', () => {
|
||||||
|
it('opens choice dropdown', () => {
|
||||||
|
cy.get('[data-test-hook=add-items-disabled]')
|
||||||
|
.find('.choices__list--dropdown')
|
||||||
|
.should('be.visible');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('attempting to select choice', () => {
|
||||||
|
let selectedChoice;
|
||||||
|
|
||||||
|
it('does not select choice', () => {
|
||||||
|
cy.get('[data-test-hook=add-items-disabled]')
|
||||||
|
.find('.choices__list--dropdown .choices__item')
|
||||||
|
.last()
|
||||||
|
.then($lastChoice => {
|
||||||
|
selectedChoice = $lastChoice;
|
||||||
|
})
|
||||||
|
.click();
|
||||||
|
|
||||||
|
cy.get('[data-test-hook=add-items-disabled]')
|
||||||
|
.find('.choices__list--single .choices__item')
|
||||||
|
.last()
|
||||||
|
.should($item => {
|
||||||
|
expect($item.text()).to.not.contain(selectedChoice.text());
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('prepend/append', () => {
|
describe('prepend/append', () => {
|
||||||
/*
|
/*
|
||||||
{
|
{
|
||||||
|
|
|
@ -59,6 +59,15 @@
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div data-test-hook="add-items-disabled">
|
||||||
|
<label for="choices-add-items-disabled">Add items disabled</label>
|
||||||
|
<select class="form-control" name="choices-add-items-disabled" id="choices-add-items-disabled" multiple>
|
||||||
|
<option value="Dropdown item 1" selected>Dropdown item 1</option>
|
||||||
|
<option value="Dropdown item 2">Dropdown item 2</option>
|
||||||
|
<option value="Dropdown item 3">Dropdown item 3</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div data-test-hook="selection-limit">
|
<div data-test-hook="selection-limit">
|
||||||
<label for="choices-selection-limit">Input limit</label>
|
<label for="choices-selection-limit">Input limit</label>
|
||||||
<select class="form-control" name="choices-selection-limit" id="choices-selection-limit" multiple>
|
<select class="form-control" name="choices-selection-limit" id="choices-selection-limit" multiple>
|
||||||
|
@ -99,7 +108,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div data-test-hook="placeholder">
|
<div data-test-hook="placeholder">
|
||||||
<label for="choices-placeholder">Search floor</label>
|
<label for="choices-placeholder">Placeholder</label>
|
||||||
<select class="form-control" name="choices-placeholder" id="choices-placeholder" multiple>
|
<select class="form-control" name="choices-placeholder" id="choices-placeholder" multiple>
|
||||||
<option value="Dropdown item 1">Dropdown item 1</option>
|
<option value="Dropdown item 1">Dropdown item 1</option>
|
||||||
<option value="Dropdown item 2">Dropdown item 2</option>
|
<option value="Dropdown item 2">Dropdown item 2</option>
|
||||||
|
@ -123,6 +132,10 @@
|
||||||
|
|
||||||
new Choices('#choices-disabled-choice');
|
new Choices('#choices-disabled-choice');
|
||||||
|
|
||||||
|
new Choices('#choices-add-items-disabled', {
|
||||||
|
addItems: false,
|
||||||
|
});
|
||||||
|
|
||||||
new Choices('#choices-selection-limit', {
|
new Choices('#choices-selection-limit', {
|
||||||
maxItemCount: 5,
|
maxItemCount: 5,
|
||||||
});
|
});
|
||||||
|
|
|
@ -59,6 +59,15 @@
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div data-test-hook="add-items-disabled">
|
||||||
|
<label for="choices-add-items-disabled">Add items disabled</label>
|
||||||
|
<select class="form-control" name="choices-add-items-disabled" id="choices-add-items-disabled">
|
||||||
|
<option value="Dropdown item 1" selected>Dropdown item 1</option>
|
||||||
|
<option value="Dropdown item 2">Dropdown item 2</option>
|
||||||
|
<option value="Dropdown item 3">Dropdown item 3</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div data-test-hook="prepend-append">
|
<div data-test-hook="prepend-append">
|
||||||
<label for="choices-prepend-append">Prepend/append</label>
|
<label for="choices-prepend-append">Prepend/append</label>
|
||||||
<select class="form-control" name="choices-prepend-append" id="choices-prepend-append">
|
<select class="form-control" name="choices-prepend-append" id="choices-prepend-append">
|
||||||
|
@ -113,6 +122,10 @@
|
||||||
removeItemButton: true,
|
removeItemButton: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
new Choices('#choices-add-items-disabled', {
|
||||||
|
addItems: false,
|
||||||
|
});
|
||||||
|
|
||||||
new Choices('#choices-prepend-append', {
|
new Choices('#choices-prepend-append', {
|
||||||
prependValue: 'before-',
|
prependValue: 'before-',
|
||||||
appendValue: '-after',
|
appendValue: '-after',
|
||||||
|
|
|
@ -119,7 +119,7 @@
|
||||||
value: 'joe@bloggs.co.uk',
|
value: 'joe@bloggs.co.uk',
|
||||||
label: 'Joe Bloggs',
|
label: 'Joe Bloggs',
|
||||||
customProperties: {
|
customProperties: {
|
||||||
description: 'Joe Blogg is such a generic name'
|
description: 'Joe Blogg is such a generic name',
|
||||||
}
|
}
|
||||||
}],
|
}],
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue