blob: 153b851f734decde671347d798e373d5d7b3ee4e [file] [log] [blame]
import './index';
import { assert } from 'chai';
import { $$ } from 'common-sk/modules/dom';
import { CheckOrRadio } from 'elements-sk/checkbox-sk/checkbox-sk';
import { ColumnOrder, ColumnTitles, MachineTableColumnsDialogSk } from './machine-table-columns-dialog-sk';
import { setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
describe('machine-table-columns-dialog-sk', () => {
const newInstance = setUpElementUnderTest<MachineTableColumnsDialogSk>('machine-table-columns-dialog-sk');
let element: MachineTableColumnsDialogSk;
beforeEach(() => {
element = newInstance();
});
it('returns undefined on cancel', async () => {
const promise = element.edit(['Annotation']);
$$<HTMLButtonElement>('#cancel', element)!.click();
assert.isUndefined(await promise);
});
it('returns original hidden list on OK if no checkboxes are clicked', async () => {
const startValue: ColumnTitles[] = ['Annotation'];
const promise = element.edit(startValue);
$$<HTMLButtonElement>('#ok', element)!.click();
const result = await promise;
assert.deepEqual(result, startValue);
});
it('returns modified hidden list on OK if a checkbox is clicked', async () => {
const startValue: ColumnTitles[] = ['Annotation'];
const promise = element.edit(startValue);
// Click first checkbox.
$$<CheckOrRadio>('checkbox-sk')!.click();
$$<HTMLButtonElement>('#ok', element)!.click();
const result = await promise;
const expected = [ColumnOrder[0], ...startValue];
assert.deepEqual(result, expected);
});
});