## Calendar Testkit

### Import

- unidriver: `import { CalendarUniDriver } from '@wix/design-system/dist/testkit/unidriver';`
- vanilla: `import { CalendarTestkit } from '@wix/design-system/dist/testkit';`
- puppeteer: `import { CalendarTestkit } from '@wix/design-system/dist/testkit/puppeteer';`
- playwright: `import { CalendarTestkit } from '@wix/design-system/dist/testkit/playwright';`

### API

### exists
- signature: exists()
- returns: Promise<boolean>
- description: Checks whether the component found with the given data hook.

### element
- signature: element()
- returns: Promise<any>
- description: Gets the component root element.

### click
- signature: click()
- returns: Promise<void>
- description: Clicks on the component root element.

### base
- signature: base()
- returns: UniDriver
- description: Returns UniDriver for the base element.

### close
- signature: close()

### getCurrentMonthWithYear
- signature: getCurrentMonthWithYear()
- returns: Promise<string>

### getNthWeekDayName
- signature: getNthWeekDayName(n)
- returns: Promise<any>

### clickOnNthDay
- signature: clickOnNthDay(n)
- returns: Promise<any>

### clickDay
- signature: clickDay(date)
- returns: Promise<void>

### isDayActive
- signature: isDayActive(date)
- returns: Promise<boolean>

### clickOnNthDayOfTheMonth
- signature: clickOnNthDayOfTheMonth(n)
- returns: Promise<any>

### clickOnSelectedDay
- signature: clickOnSelectedDay()

### clickOnYearDropdown
- signature: clickOnYearDropdown()

### clickOnMonthDropdown
- signature: clickOnMonthDropdown()

### clickOnNthYear
- signature: clickOnNthYear(n)

### clickOnPrevMonthButton
- signature: clickOnPrevMonthButton()
- returns: Promise<void>

### clickOnNextMonthButton
- signature: clickOnNextMonthButton()
- returns: Promise<void>

### keyboardNextYear
- signature: keyboardNextYear()

### keyboardPrevYear
- signature: keyboardPrevYear()

### isHeaderExists
- signature: isHeaderExists()

### isYearDropdownExists
- signature: isYearDropdownExists()

### isYearCaptionExists
- signature: isYearCaptionExists()

### isMonthDropdownExists
- signature: isMonthDropdownExists()

### isMonthCaptionExists
- signature: isMonthCaptionExists()

### getMonthCaption
- signature: getMonthCaption()

### getMonthDropdownLabel
- signature: getMonthDropdownLabel()

### getSelectedYear
- signature: getSelectedYear()

### getFocusedDay
- signature: getFocusedDay()
- returns: Promise<any>
- description: Returns the text of the focused day or `null` if there is no focused day

### getFocusedDayElement
- signature: getFocusedDayElement()

### pressLeftArrow
- signature: pressLeftArrow()

### pressRightArrow
- signature: pressRightArrow()

### getSelectedDay
- signature: getSelectedDay()

### triggerKeyDown
- signature: triggerKeyDown({key})

### isFocusedDayVisuallyUnfocused
- signature: isFocusedDayVisuallyUnfocused()

### containsVisuallyUnfocusedDay
- signature: containsVisuallyUnfocusedDay()

### isTwoMonthsLayout
- signature: isTwoMonthsLayout()
- returns: Promise<boolean>

### getMonthDropdownDriver
- signature: getMonthDropdownDriver()
- returns: Promise<DropdownLayoutUniDriver>

### getYearDropdownDriver
- signature: getYearDropdownDriver()
- returns: Promise<DropdownLayoutUniDriver>

### getNumOfVisibleMonths
- signature: getNumOfVisibleMonths()

### getNumOfSelectedDays
- signature: getNumOfSelectedDays()

### getSelectedDays
- signature: getSelectedDays()
- returns: Promise<any[]>

### getSize
- signature: getSize()
- returns: Promise<string>
- description: Returns size property value currently set on component
