wix-style-react
Version:
wix-style-react
65 lines • 2.85 kB
JavaScript
import { baseUniDriverFactory } from '../test-utils/utils/unidriver';
// @ts-ignore
import { textUniDriverFactory } from '../Text/Text.uni.driver';
// @ts-ignore
import { infoIconDriverFactory } from '../InfoIcon/InfoIcon.uni.driver';
import { dataHooks } from './constants';
export const fieldSetDriverFactory = (base, body) => {
const getCharactersCounter = async () => await base.get(`[data-hook*="${dataHooks.counter}"]`);
return {
...baseUniDriverFactory(base),
/** get legend text */
getLegendText: async () => {
const baseUniDriverElement = await base.get(`[data-hook*="${dataHooks.label}"]`);
return baseUniDriverElement.text();
},
/** returns legend size */
getLegendSize: async () => {
const labelDriver = textUniDriverFactory(await base.get(`[data-hook="${dataHooks.label}"]`));
return labelDriver.getSize();
},
/** returns legend placement */
getLegendPlacement: async () => {
return (await base.attr('data-legend-placement'));
},
/** returns legend alignment */
getLegendAlignment: async () => {
return (await base.attr('data-legend-alignment'));
},
/** returns true whether field set is required */
isRequired: async () => (await base.get(`[data-hook*="${dataHooks.asterisk}"]`)).exists(),
/** returns the length left */
getCharCount: async () => {
const counter = await getCharactersCounter();
return parseInt(await counter.text(), 10);
},
/** returns whether the field set length is exceeded */
isLengthExceeded: async () => {
const counter = await getCharactersCounter();
const length = parseInt(await counter.text(), 10);
return length < 0;
},
/** returns tooltip text of the info content */
getInfoContent: async () => {
const testkit = infoIconDriverFactory(await base.get(`[data-hook="${dataHooks.infoIcon}"]`), body);
return testkit.getContent();
},
getAlignment: async () => {
return (await base.attr('data-alignment'));
},
getDirection: async () => {
return (await base.attr('data-direction'));
},
getGap: async () => {
return (await base.attr('data-gap'));
},
/** returns status message text */
getStatusMessage: async () => {
const testkit = textUniDriverFactory(base.$(`[data-hook="${dataHooks.statusMessage}"]`));
return testkit.getText();
},
/** return true if it has a given status */
hasStatus: async (status) => (await base.attr('data-status')) === status,
};
};
//# sourceMappingURL=FieldSet.uni.driver.js.map