diff --git a/src/screens/ManageTag/ManageTag.test.tsx b/src/screens/ManageTag/ManageTag.test.tsx index ef8f8c0243..bf16785ae7 100644 --- a/src/screens/ManageTag/ManageTag.test.tsx +++ b/src/screens/ManageTag/ManageTag.test.tsx @@ -19,7 +19,11 @@ import { store } from 'state/store'; import { StaticMockLink } from 'utils/StaticMockLink'; import i18n from 'utils/i18nForTest'; import ManageTag from './ManageTag'; -import { MOCKS, MOCKS_ERROR } from './ManageTagMocks'; +import { + MOCKS, + MOCKS_ERROR_ASSIGNED_MEMBERS, + MOCKS_ERROR_TAG_ANCESTORS, +} from './ManageTagMocks'; import { InMemoryCache, type ApolloLink } from '@apollo/client'; const translations = { @@ -31,7 +35,8 @@ const translations = { }; const link = new StaticMockLink(MOCKS, true); -const link2 = new StaticMockLink(MOCKS_ERROR, true); +const link2 = new StaticMockLink(MOCKS_ERROR_ASSIGNED_MEMBERS, true); +const link3 = new StaticMockLink(MOCKS_ERROR_TAG_ANCESTORS, true); async function wait(ms = 500): Promise { await act(() => { @@ -118,7 +123,7 @@ describe('Organisation Tags Page', () => { }); }); - test('render error component on unsuccessful userTags query', async () => { + test('renders error component on unsuccessful userTag assigned members query', async () => { const { queryByText } = renderManageTag(link2); await wait(); @@ -128,6 +133,16 @@ describe('Organisation Tags Page', () => { }); }); + test('renders error component on unsuccessful userTag ancestors query', async () => { + const { queryByText } = renderManageTag(link3); + + await wait(); + + await waitFor(() => { + expect(queryByText(translations.addPeopleToTag)).not.toBeInTheDocument(); + }); + }); + test('opens and closes the add people to tag modal', async () => { renderManageTag(link); diff --git a/src/screens/ManageTag/ManageTag.tsx b/src/screens/ManageTag/ManageTag.tsx index ca13da6963..ed5e1d1086 100644 --- a/src/screens/ManageTag/ManageTag.tsx +++ b/src/screens/ManageTag/ManageTag.tsx @@ -358,6 +358,7 @@ function ManageTag(): JSX.Element { {tag.name} {orgUserTagAncestors.length - 1 !== index && ( + /* istanbul ignore next */ )} diff --git a/src/screens/ManageTag/ManageTagMocks.ts b/src/screens/ManageTag/ManageTagMocks.ts index 74816ba397..c42c4a9e5f 100644 --- a/src/screens/ManageTag/ManageTagMocks.ts +++ b/src/screens/ManageTag/ManageTagMocks.ts @@ -219,7 +219,7 @@ export const MOCKS = [ }, ]; -export const MOCKS_ERROR = [ +export const MOCKS_ERROR_ASSIGNED_MEMBERS = [ { request: { query: USER_TAGS_ASSIGNED_MEMBERS, @@ -233,6 +233,51 @@ export const MOCKS_ERROR = [ }, error: new Error('Mock Graphql Error'), }, + { + request: { + query: USER_TAG_ANCESTORS, + variables: { + id: '1', + }, + }, + result: { + data: { + getUserTagAncestors: [], + }, + }, + }, +]; + +export const MOCKS_ERROR_TAG_ANCESTORS = [ + { + request: { + query: USER_TAGS_ASSIGNED_MEMBERS, + variables: { + id: '1', + after: null, + before: null, + first: 5, + last: null, + }, + }, + result: { + data: { + getUserTag: { + name: 'tag1', + usersAssignedTo: { + edges: [], + pageInfo: { + startCursor: '1', + endCursor: '5', + hasNextPage: true, + hasPreviousPage: false, + }, + totalCount: 6, + }, + }, + }, + }, + }, { request: { query: USER_TAG_ANCESTORS,