Merge pull request #668 from mirumee/fix/menu-testing-context
Add static test id to the menu items
This commit is contained in:
commit
c86206d35f
2 changed files with 22 additions and 5 deletions
|
@ -258,7 +258,8 @@ const MenuList: React.FC<MenuListProps> = props => {
|
||||||
[classes.menuListItemActive]: isAnyChildActive
|
[classes.menuListItemActive]: isAnyChildActive
|
||||||
})}
|
})}
|
||||||
key={menuItem.label}
|
key={menuItem.label}
|
||||||
data-testid={menuItem.label.toLowerCase()}
|
data-testid={menuItem.testingContextId}
|
||||||
|
data-test="menuItemEntry"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className={classNames(classes.menuItemHover, {
|
className={classNames(classes.menuItemHover, {
|
||||||
|
@ -266,7 +267,6 @@ const MenuList: React.FC<MenuListProps> = props => {
|
||||||
menuItem.ariaLabel === activeSubMenu.label &&
|
menuItem.ariaLabel === activeSubMenu.label &&
|
||||||
activeSubMenu.isActive
|
activeSubMenu.isActive
|
||||||
})}
|
})}
|
||||||
data-test={menuItem.label}
|
|
||||||
onClick={() => handleSubMenu(menuItem.ariaLabel)}
|
onClick={() => handleSubMenu(menuItem.ariaLabel)}
|
||||||
>
|
>
|
||||||
<SVG
|
<SVG
|
||||||
|
@ -313,6 +313,8 @@ const MenuList: React.FC<MenuListProps> = props => {
|
||||||
href={createHref(menuItem.url)}
|
href={createHref(menuItem.url)}
|
||||||
onClick={event => closeSubMenu(menuItem.url, event)}
|
onClick={event => closeSubMenu(menuItem.url, event)}
|
||||||
key={menuItem.label}
|
key={menuItem.label}
|
||||||
|
data-testid={menuItem.testingContextId}
|
||||||
|
data-test="menuItemEntry"
|
||||||
>
|
>
|
||||||
<div className={classes.menuItemHover}>
|
<div className={classes.menuItemHover}>
|
||||||
<SVG
|
<SVG
|
||||||
|
|
|
@ -24,6 +24,7 @@ export interface IMenuItem {
|
||||||
icon?: any;
|
icon?: any;
|
||||||
label: string;
|
label: string;
|
||||||
permission?: PermissionEnum;
|
permission?: PermissionEnum;
|
||||||
|
testingContextId: string;
|
||||||
url?: string;
|
url?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,6 +34,7 @@ function createMenuStructure(intl: IntlShape): IMenuItem[] {
|
||||||
ariaLabel: "home",
|
ariaLabel: "home",
|
||||||
icon: homeIcon,
|
icon: homeIcon,
|
||||||
label: intl.formatMessage(sectionNames.home),
|
label: intl.formatMessage(sectionNames.home),
|
||||||
|
testingContextId: "home",
|
||||||
url: "/"
|
url: "/"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -41,22 +43,26 @@ function createMenuStructure(intl: IntlShape): IMenuItem[] {
|
||||||
{
|
{
|
||||||
ariaLabel: "products",
|
ariaLabel: "products",
|
||||||
label: intl.formatMessage(sectionNames.products),
|
label: intl.formatMessage(sectionNames.products),
|
||||||
|
testingContextId: "products",
|
||||||
url: productListUrl()
|
url: productListUrl()
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ariaLabel: "categories",
|
ariaLabel: "categories",
|
||||||
label: intl.formatMessage(sectionNames.categories),
|
label: intl.formatMessage(sectionNames.categories),
|
||||||
|
testingContextId: "categories",
|
||||||
url: categoryListUrl()
|
url: categoryListUrl()
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ariaLabel: "collections",
|
ariaLabel: "collections",
|
||||||
label: intl.formatMessage(sectionNames.collections),
|
label: intl.formatMessage(sectionNames.collections),
|
||||||
|
testingContextId: "collections",
|
||||||
url: collectionListUrl()
|
url: collectionListUrl()
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
icon: catalogIcon,
|
icon: catalogIcon,
|
||||||
label: intl.formatMessage(commonMessages.catalog),
|
label: intl.formatMessage(commonMessages.catalog),
|
||||||
permission: PermissionEnum.MANAGE_PRODUCTS
|
permission: PermissionEnum.MANAGE_PRODUCTS,
|
||||||
|
testingContextId: "catalogue"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ariaLabel: "orders",
|
ariaLabel: "orders",
|
||||||
|
@ -65,24 +71,28 @@ function createMenuStructure(intl: IntlShape): IMenuItem[] {
|
||||||
ariaLabel: "orders",
|
ariaLabel: "orders",
|
||||||
label: intl.formatMessage(sectionNames.orders),
|
label: intl.formatMessage(sectionNames.orders),
|
||||||
permission: PermissionEnum.MANAGE_ORDERS,
|
permission: PermissionEnum.MANAGE_ORDERS,
|
||||||
|
testingContextId: "orders",
|
||||||
url: orderListUrl()
|
url: orderListUrl()
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ariaLabel: "order drafts",
|
ariaLabel: "order drafts",
|
||||||
label: intl.formatMessage(commonMessages.drafts),
|
label: intl.formatMessage(commonMessages.drafts),
|
||||||
permission: PermissionEnum.MANAGE_ORDERS,
|
permission: PermissionEnum.MANAGE_ORDERS,
|
||||||
|
testingContextId: "order drafts",
|
||||||
url: orderDraftListUrl()
|
url: orderDraftListUrl()
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
icon: ordersIcon,
|
icon: ordersIcon,
|
||||||
label: intl.formatMessage(sectionNames.orders),
|
label: intl.formatMessage(sectionNames.orders),
|
||||||
permission: PermissionEnum.MANAGE_ORDERS
|
permission: PermissionEnum.MANAGE_ORDERS,
|
||||||
|
testingContextId: "orders"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ariaLabel: "customers",
|
ariaLabel: "customers",
|
||||||
icon: customerIcon,
|
icon: customerIcon,
|
||||||
label: intl.formatMessage(sectionNames.customers),
|
label: intl.formatMessage(sectionNames.customers),
|
||||||
permission: PermissionEnum.MANAGE_USERS,
|
permission: PermissionEnum.MANAGE_USERS,
|
||||||
|
testingContextId: "customers",
|
||||||
url: customerListUrl()
|
url: customerListUrl()
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -92,23 +102,27 @@ function createMenuStructure(intl: IntlShape): IMenuItem[] {
|
||||||
{
|
{
|
||||||
ariaLabel: "sales",
|
ariaLabel: "sales",
|
||||||
label: intl.formatMessage(sectionNames.sales),
|
label: intl.formatMessage(sectionNames.sales),
|
||||||
|
testingContextId: "sales",
|
||||||
url: saleListUrl()
|
url: saleListUrl()
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ariaLabel: "vouchers",
|
ariaLabel: "vouchers",
|
||||||
label: intl.formatMessage(sectionNames.vouchers),
|
label: intl.formatMessage(sectionNames.vouchers),
|
||||||
|
testingContextId: "vouchers",
|
||||||
url: voucherListUrl()
|
url: voucherListUrl()
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
icon: discountsIcon,
|
icon: discountsIcon,
|
||||||
label: intl.formatMessage(commonMessages.discounts),
|
label: intl.formatMessage(commonMessages.discounts),
|
||||||
permission: PermissionEnum.MANAGE_DISCOUNTS
|
permission: PermissionEnum.MANAGE_DISCOUNTS,
|
||||||
|
testingContextId: "discounts"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ariaLabel: "apps",
|
ariaLabel: "apps",
|
||||||
icon: appsIcon,
|
icon: appsIcon,
|
||||||
label: intl.formatMessage(sectionNames.apps),
|
label: intl.formatMessage(sectionNames.apps),
|
||||||
permission: PermissionEnum.MANAGE_APPS,
|
permission: PermissionEnum.MANAGE_APPS,
|
||||||
|
testingContextId: "apps",
|
||||||
url: appsListPath
|
url: appsListPath
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -116,6 +130,7 @@ function createMenuStructure(intl: IntlShape): IMenuItem[] {
|
||||||
icon: translationIcon,
|
icon: translationIcon,
|
||||||
label: intl.formatMessage(sectionNames.translations),
|
label: intl.formatMessage(sectionNames.translations),
|
||||||
permission: PermissionEnum.MANAGE_TRANSLATIONS,
|
permission: PermissionEnum.MANAGE_TRANSLATIONS,
|
||||||
|
testingContextId: "translations",
|
||||||
url: languageListUrl
|
url: languageListUrl
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
Loading…
Reference in a new issue