2022-09-08 10:46:49 +00:00
|
|
|
import { is, clickable, attribute, isVisible } from 'ember-cli-page-object';
|
2020-04-08 09:56:36 +00:00
|
|
|
import ucfirst from 'consul-ui/utils/ucfirst';
|
|
|
|
export default function(name, items, blankKey = 'all') {
|
|
|
|
return items.reduce(function(prev, item, i, arr) {
|
|
|
|
// if item is empty then it means 'all'
|
|
|
|
// otherwise camelCase based on something-here = somethingHere for the key
|
|
|
|
const key =
|
|
|
|
item === ''
|
|
|
|
? blankKey
|
|
|
|
: item.split('-').reduce(function(prev, item, i, arr) {
|
|
|
|
if (i === 0) {
|
|
|
|
return item;
|
|
|
|
}
|
|
|
|
return prev + ucfirst(item);
|
|
|
|
});
|
|
|
|
return {
|
|
|
|
...prev,
|
|
|
|
...{
|
|
|
|
[`${key}IsSelected`]: is('.selected', `[data-test-tab="${name}_${item}"]`),
|
2020-07-29 14:09:40 +00:00
|
|
|
[`${key}Url`]: attribute('href', `[data-test-tab="${name}_${item}"] a`),
|
2020-05-05 16:31:18 +00:00
|
|
|
[key]: clickable(`[data-test-tab="${name}_${item}"] a`),
|
2022-09-08 10:46:49 +00:00
|
|
|
[`${key}IsVisible`]: isVisible(`[data-test-tab="${name}_${item}"] a`),
|
2020-04-08 09:56:36 +00:00
|
|
|
},
|
|
|
|
};
|
|
|
|
}, {});
|
|
|
|
}
|