-
+
{{ s__('WorkItem|New type') }}
@@ -103,16 +93,16 @@ export default {
@@ -122,7 +112,6 @@ export default {
icon="ellipsis_v"
no-caret
text-sr-only
- placement="bottom-end"
:toggle-text="__('Actions')"
category="tertiary"
/>
diff --git a/ee/spec/frontend/groups/settings/work_items/configurable_types/configurable_types_settings_spec.js b/ee/spec/frontend/groups/settings/work_items/configurable_types/configurable_types_settings_spec.js
index 4a6713c4e23067..5c109a38568282 100644
--- a/ee/spec/frontend/groups/settings/work_items/configurable_types/configurable_types_settings_spec.js
+++ b/ee/spec/frontend/groups/settings/work_items/configurable_types/configurable_types_settings_spec.js
@@ -19,18 +19,13 @@ describe('ConfigurableTypesSettings', () => {
...defaultProps,
...props,
},
- stubs: {
- SettingsBlock,
- HelpPageLink,
- WorkItemTypesList: true,
- },
});
};
const findSettingsBlock = () => wrapper.findComponent(SettingsBlock);
const findWorkItemTypesList = () => wrapper.findComponent(WorkItemTypesList);
const findHelpPageLink = () => wrapper.findComponent(HelpPageLink);
- const findDescription = () => wrapper.find('.gl-mb-3');
+ const findDescription = () => wrapper.find('p');
describe('default rendering', () => {
beforeEach(() => {
@@ -42,17 +37,11 @@ describe('ConfigurableTypesSettings', () => {
});
it('passes correct props to SettingsBlock', () => {
- expect(findSettingsBlock().props()).toEqual(
- expect.objectContaining({
- id: defaultProps.id,
- title: 'Work item types',
- expanded: defaultProps.expanded,
- }),
- );
- });
-
- it('renders WorkItemTypesList component', () => {
- expect(findWorkItemTypesList().exists()).toBe(true);
+ expect(findSettingsBlock().props()).toEqual({
+ id: defaultProps.id,
+ title: 'Work item types',
+ expanded: defaultProps.expanded,
+ });
});
it('passes fullPath prop to WorkItemTypesList', () => {
@@ -69,7 +58,7 @@ describe('ConfigurableTypesSettings', () => {
it('renders help page link', () => {
expect(findHelpPageLink().exists()).toBe(true);
expect(findHelpPageLink().props('href')).toBe('user/work_items/_index.md');
- expect(findHelpPageLink().text()).toContain('How do I use configure work item types?');
+ expect(findHelpPageLink().text()).toBe('How do I use configure work item types?');
});
});
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index 5b6f81e80f2db4..2a6b9c47df0ea8 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -77419,9 +77419,6 @@ msgstr ""
msgid "WorkItem|No template"
msgstr ""
-msgid "WorkItem|No work item types found"
-msgstr ""
-
msgid "WorkItem|None"
msgstr ""
diff --git a/spec/frontend/work_items/components/work_item_types_list_spec.js b/spec/frontend/work_items/components/work_item_types_list_spec.js
index 5ab54b885f3e21..e269749bc823c5 100644
--- a/spec/frontend/work_items/components/work_item_types_list_spec.js
+++ b/spec/frontend/work_items/components/work_item_types_list_spec.js
@@ -34,7 +34,7 @@ describe('WorkItemTypesList', () => {
const namespaceQueryHandler = jest.fn().mockResolvedValue(namespaceWorkItemTypesQueryResponse);
const mockEmptyResponseHandler = jest.fn().mockResolvedValue(mockEmptyResponse);
- const createWrapper = (queryHandler = namespaceQueryHandler, props = {}) => {
+ const createWrapper = ({ queryHandler = namespaceQueryHandler, props = {} } = {}) => {
mockApollo = createMockApollo([[namespaceWorkItemTypesQuery, queryHandler]]);
wrapper = shallowMountExtended(WorkItemTypesList, {
@@ -45,22 +45,16 @@ describe('WorkItemTypesList', () => {
},
stubs: {
CrudComponent,
- GlButton,
- GlDisclosureDropdown,
- WorkItemTypeIcon,
- GlAlert,
},
});
-
- return queryHandler;
};
const findCrudComponent = () => wrapper.findComponent(CrudComponent);
const findLoadingIcon = () => wrapper.findComponent(GlLoadingIcon);
const findWorkItemTypesTable = () => wrapper.findByTestId('work-item-types-table');
- const findWorkItemTypeRows = () => wrapper.findAll('.work-item-type-row');
+ const findWorkItemTypeRows = () => wrapper.findAll('[data-testid^="work-item-type-row"]');
const findWorkItemTypeRow = (id) => wrapper.findByTestId(`work-item-type-row-${id}`);
- const findNewTypeButton = () => wrapper.findByTestId('work-item-type-add-button');
+ const findNewTypeButton = () => wrapper.findComponent(GlButton);
const findDropdownForType = (id) => findWorkItemTypeRow(id).findComponent(GlDisclosureDropdown);
const findErrorAlert = () => wrapper.findComponent(GlAlert);
@@ -120,7 +114,6 @@ describe('WorkItemTypesList', () => {
expect(dropdown.props('toggleId')).toBe(`work-item-type-actions-${mockWorkItemTypes[0].id}`);
expect(dropdown.props('icon')).toBe('ellipsis_v');
expect(dropdown.props('noCaret')).toBe(true);
- expect(dropdown.props('placement')).toBe('bottom-end');
});
});
@@ -146,7 +139,7 @@ describe('WorkItemTypesList', () => {
describe('empty state', () => {
beforeEach(async () => {
- createWrapper(mockEmptyResponseHandler);
+ createWrapper({ queryHandler: mockEmptyResponseHandler });
await waitForPromises();
});
@@ -169,13 +162,11 @@ describe('WorkItemTypesList', () => {
describe('query behavior', () => {
it('passes correct fullPath to query', async () => {
- const queryHandler = createWrapper(namespaceQueryHandler, {
- fullPath: 'my-group/sub-group',
- });
+ createWrapper({ props: { fullPath: 'my-group/sub-group' } });
await waitForPromises();
- expect(queryHandler).toHaveBeenCalledWith({
+ expect(namespaceQueryHandler).toHaveBeenCalledWith({
fullPath: 'my-group/sub-group',
onlyAvailable: false,
});
@@ -183,7 +174,7 @@ describe('WorkItemTypesList', () => {
it('error handling', async () => {
const errorQueryHandler = jest.fn().mockRejectedValue('Network error');
- createWrapper(errorQueryHandler);
+ createWrapper({ queryHandler: errorQueryHandler });
await waitForPromises();
--
GitLab