This repository has been archived by the owner on Nov 27, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6
/
Badge.driver.ts
41 lines (37 loc) · 1.53 KB
/
Badge.driver.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import { ComponentFactory } from 'wix-ui-test-utils/driver-factory';
import { StylableDOMUtilCompat } from '@stylable/dom-test-kit';
import style from './Badge.st.css';
import { Type, Skin, Size } from './constants';
export interface BadgeDriver {
exists: () => boolean,
getContent: () => string,
text: () => string,
getType: () => Type,
getSkin: () => Skin,
getSize: () => Size,
isUppercase: () => boolean,
hasClickCursor: () => boolean,
getPrefixIcon: () => Element | null,
getSuffixIcon: () => Element | null,
click: () => void
}
export const badgeDriverFactory = (factoryParams: ComponentFactory): BadgeDriver => {
const { element, eventTrigger } = factoryParams;
const stylableDOMUtil = new StylableDOMUtilCompat(style, element);
return {
/** checks if element exists */
exists: () => !!element,
/** returns elements innerHtml */
getContent: () => element.innerHTML,
/** returns elements text */
text: () => element.textContent,
getType: () => stylableDOMUtil.getStyleState(element, 'type') as Type,
getSkin: () => stylableDOMUtil.getStyleState(element, 'skin') as Skin,
getSize: () => stylableDOMUtil.getStyleState(element, 'size') as Size,
isUppercase: () => stylableDOMUtil.getStyleState(element, 'uppercase') === 'true',
hasClickCursor: () => stylableDOMUtil.getStyleState(element, 'clickable') === 'true',
getPrefixIcon: () => stylableDOMUtil.select('.prefix'),
getSuffixIcon: () => stylableDOMUtil.select('.suffix'),
click: () => eventTrigger.click(element)
};
};