blob: da213bc6bd6d20bb02b31c77c1bfc3b3cc98e2dc [file] [log] [blame]
import './index';
import { assert } from 'chai';
import { $$ } from 'common-sk/modules/dom';
import { NoteEditorSk } from './note-editor-sk';
import { setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
import { Annotation } from '../json';
const start: Annotation = {
Message: 'This is a test.',
User: '',
Timestamp: new Date(Date.now()).toString(),
};
describe('note-editor-sk', () => {
const newInstance = setUpElementUnderTest<NoteEditorSk>('note-editor-sk');
let element: NoteEditorSk;
beforeEach(() => {
element = newInstance();
});
it('returns undefined on cancel', async () => {
const promise = element.edit(start);
$$<HTMLButtonElement>('#cancel', element)!.click();
assert.isUndefined(await promise);
});
it('returns a modified Message on OK', async () => {
const modifiedString = 'This is an edited message.';
const promise = element.edit(start);
$$<HTMLInputElement>('#note', element)!.value = modifiedString;
$$<HTMLButtonElement>('#ok', element)!.click();
const note = await promise;
assert.equal(note?.Message, modifiedString);
});
it('returns an empty Message on Clear', async () => {
const promise = element.edit(start);
$$<HTMLButtonElement>('#clear', element)!.click();
const note = await promise;
assert.isEmpty(note!.Message);
});
});