| 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; |
| }); |
| }); |