koel/cypress/types.d.ts

53 lines
1.7 KiB
TypeScript
Raw Normal View History

interface LoginOptions {
asAdmin: boolean
useiTunes: boolean
useYouTube: boolean
useLastfm: boolean
allowDownload: boolean
supportsTranscoding: false
}
declare namespace Cypress {
interface Chainable {
$login(options?: Partial<LoginOptions>): Chainable<AUTWindow>
$loginAsNonAdmin(options?: Partial<LoginOptions>): Chainable<AUTWindow>
$each(dataset: Array<Array<any>>, callback: (...args) => void): void
2020-12-30 22:37:41 +00:00
$confirm(): void
2021-01-01 13:31:53 +00:00
$clickSidebarItem(sidebarItemText: string): Chainable<JQuery>
2021-01-01 19:53:58 +00:00
/**
* Mock audio playback, including intercepting the media request, album thumbnail, media info etc.
*/
$mockPlayback(): void
/**
2022-04-26 09:46:31 +00:00
* Queue several songs from the "All Songs" screen.
* @param count
*/
$shuffleSeveralSongs(count?: number): void
2022-04-27 21:43:00 +00:00
$getSongRows(): Chainable<JQuery>
$getSongRowAt(position: number): Chainable<JQuery>
2022-04-26 12:48:42 +00:00
$assertPlaylistSongCount(name: string, count: number): void
$assertFavoriteSongCount(count: number): void
$selectSongRange(start: number, end: number, scrollBehavior?: scrollBehaviorOptions): Chainable<JQuery>
$assertPlaying(): void
$assertNotPlaying(): void
2021-01-03 16:24:35 +00:00
$assertSidebarItemActive(text: string): void
/**
* Support finding an element within an element identified with a test ID.
* For example, given a DOM like this:
* <form data-testid="my-form">
* <input name="email">
* </form>
* then the input can be accessed with:
* cy.$findInTestId('my-form input[name=email]')
* which is identical to
* cy.findByTestId('my-form').find('input[name=email]')
*/
$findInTestId<E extends Node = HTMLElement>(selector: string): Chainable<JQuery<E>>
}
}