Choices/src/scripts/actions/choices.test.ts
Josh Johnson 68313da412
Convert to typescript (#795)
* Typescript config setup

* Add type annotations to components

* Further type additions

* And more...

* Add types to actions

* Add types to templates

* Further type checks

* Further type additons

* Install fuse latest

* Housekeeping

* Remove old type definitions

* Fix remaning type issues

* Fix some failing tests

* Remove types workflow

* Fix failing unit tests

* Resolve back space event regression

* Convert cypress files to .ts

* Fix eslint issues

* Remove cachebusting urls

* Resolve delete button bug

* Resolve regression bugs

* Fix lint script

* Fix lint workflow

* Pass args instead of object to keyboard handlers

* Flatten misc reducer

* Resolve keyboad action test failures

* Use Pick instead of Partial

* Use interfaces in action tests

* Update firefox image

* Incorporate #791

* Incorporate #788
2019-12-23 18:22:54 +00:00

93 lines
2.3 KiB
TypeScript

import { expect } from 'chai';
import * as actions from './choices';
describe('actions/choices', () => {
describe('addChoice action', () => {
it('returns ADD_CHOICE action', () => {
const value = 'test';
const label = 'test';
const id = 1;
const groupId = 1;
const disabled = false;
const elementId = 1;
const customProperties = { test: true };
const placeholder = true;
const keyCode = 10;
const expectedAction: actions.AddChoiceAction = {
type: 'ADD_CHOICE',
value,
label,
id,
groupId,
disabled,
elementId,
customProperties,
placeholder,
keyCode,
};
expect(
actions.addChoice({
value,
label,
id,
groupId,
disabled,
elementId,
customProperties,
placeholder,
keyCode,
}),
).to.eql(expectedAction);
});
});
describe('filterChoices action', () => {
it('returns FILTER_CHOICES action', () => {
const results = Array(10);
const expectedAction: actions.FilterChoicesAction = {
type: 'FILTER_CHOICES',
results,
};
expect(actions.filterChoices(results)).to.eql(expectedAction);
});
});
describe('activateChoices action', () => {
describe('not passing active parameter', () => {
it('returns ACTIVATE_CHOICES action', () => {
const expectedAction: actions.ActivateChoicesAction = {
type: 'ACTIVATE_CHOICES',
active: true,
};
expect(actions.activateChoices()).to.eql(expectedAction);
});
});
describe('passing active parameter', () => {
it('returns ACTIVATE_CHOICES action', () => {
const active = true;
const expectedAction: actions.ActivateChoicesAction = {
type: 'ACTIVATE_CHOICES',
active,
};
expect(actions.activateChoices(active)).to.eql(expectedAction);
});
});
});
describe('clearChoices action', () => {
it('returns CLEAR_CHOICES action', () => {
const expectedAction: actions.ClearChoicesAction = {
type: 'CLEAR_CHOICES',
};
expect(actions.clearChoices()).to.eql(expectedAction);
});
});
});