Choices/src/scripts/actions/items.test.js
Josh Johnson e6882f3e4b
Add missing type definitions + rename sortFn (#734)
* Add wrapped element getters + fix some types

* Remove comment

* Add missing config options to types

* Add types to constants

* Rename sortFn to sorter

* Update PR template

* Add refactor to PR template

* Add passed element types to constants

* Add js doc comments to actions

* Add "returns" to js doc comments

* Add missing choice prop to type

* Add types to store.js

* Add jsdoc comments to components

* Ignore strict null checks

* Move loading action into misc.js

* Further type def additions

* Rename itemCompare to valueCompare

* Update badges

* Rename scrollToChoice to scrollToChildElement
2019-11-03 13:18:16 +00:00

72 lines
1.5 KiB
JavaScript

import { expect } from 'chai';
import * as actions from './items';
describe('actions/items', () => {
describe('addItem action', () => {
it('returns ADD_ITEM action', () => {
const value = 'test';
const label = 'test';
const id = '1234';
const choiceId = '1234';
const groupId = 'test';
const customProperties = { test: true };
const placeholder = true;
const keyCode = 10;
const expectedAction = {
type: 'ADD_ITEM',
value,
label,
id,
choiceId,
groupId,
customProperties,
placeholder,
keyCode,
};
expect(
actions.addItem({
value,
label,
id,
choiceId,
groupId,
customProperties,
placeholder,
keyCode,
}),
).to.eql(expectedAction);
});
});
describe('removeItem action', () => {
it('returns REMOVE_ITEM action', () => {
const id = '1234';
const choiceId = '1';
const expectedAction = {
type: 'REMOVE_ITEM',
id,
choiceId,
};
expect(actions.removeItem(id, choiceId)).to.eql(expectedAction);
});
});
describe('highlightItem action', () => {
it('returns HIGHLIGHT_ITEM action', () => {
const id = '1234';
const highlighted = true;
const expectedAction = {
type: 'HIGHLIGHT_ITEM',
id,
highlighted,
};
expect(actions.highlightItem(id, highlighted)).to.eql(expectedAction);
});
});
});