blob: 6216d251a95243faaa567036a565cbe483a56136 [file] [log] [blame]
import { expect } from 'chai';
import { setUpElementUnderTest, eventPromise } from '../test_util';
import { ThemeChooserSk, ThemeChooserSkEventDetail, DARKMODE_CLASS } from './theme-chooser-sk';
describe('theme-chooser-sk', () => {
const newInstance = setUpElementUnderTest<ThemeChooserSk>('theme-chooser-sk');
let themeChooserSk: ThemeChooserSk;
beforeEach(() => {
themeChooserSk = newInstance();
});
it('generates event and toggles from darkmode when clicked', async () => {
themeChooserSk.darkmode = true;
const event = eventPromise<CustomEvent<ThemeChooserSkEventDetail>>('theme-chooser-toggle');
themeChooserSk.click();
expect((await event).detail.darkmode).to.be.false;
expect(document.body.classList.contains(DARKMODE_CLASS)).to.be.false;
});
it('generates event and toggles to darkmode when clicked', async () => {
themeChooserSk.darkmode = false;
const event = eventPromise<CustomEvent<ThemeChooserSkEventDetail>>('theme-chooser-toggle');
themeChooserSk.click();
expect((await event).detail.darkmode).to.be.true;
expect(document.body.classList.contains(DARKMODE_CLASS)).to.be.true;
});
});