@unite-us/app-create-referral 0.15.134 → 0.15.136

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,7 @@ import { screen } from "@testing-library/react";
5
5
  import { render, waitFor } from "../../../__testUtils__/test-utils";
6
6
  import { person } from "../../../__testUtils__/mockData/mockPeople";
7
7
  import mockAppReferralsProps from "../../../__testUtils__/mockData/components/mockAppReferrals";
8
- import { referrals } from "./data";
8
+ import { referrals, referralsResultDetailMock } from "./data";
9
9
  import ReferralsSent from "../ReferralsSent";
10
10
  import userEvent from '@testing-library/user-event';
11
11
  import { server, waitForRequest } from "../../../__testUtils__/mockServer/server";
@@ -43,7 +43,7 @@ const mockResourceListsCall = () => {
43
43
  }));
44
44
  };
45
45
  const mockShareEventsCall = () => {
46
- server.use(rest.post('*/share_events', (req, res, ctx) => res.once(ctx.status(201), ctx.json({
46
+ server.use(rest.post('*/share_events', (req, res, ctx) => res(ctx.status(201), ctx.json({
47
47
  data: {
48
48
  id: 'test-share-event-id',
49
49
  type: 'share_event'
@@ -65,7 +65,8 @@ const renderReferralsSent = function () {
65
65
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
66
66
  return render(/*#__PURE__*/_jsx(ReferralsSent, _objectSpread({
67
67
  referrals: referrals,
68
- isSuccessfullyForwarded: true
68
+ isSuccessfullyForwarded: true,
69
+ referralsResultDetail: referralsResultDetailMock
69
70
  }, props)), {
70
71
  appContextProviderProps: _objectSpread({
71
72
  initialAddresses: {},
@@ -191,7 +192,7 @@ describe('ReferralsSent Page', () => {
191
192
  const shareButton = await screen.findByRole('button', {
192
193
  name: /share resources/i
193
194
  });
194
- expect(shareButton).toHaveAttribute('aria-disabled', 'false');
195
+ expect(shareButton).toBeEnabled();
195
196
  });
196
197
  it('shows only off-platform info in next steps when all programs are unlisted', async () => {
197
198
  const unlistedReferrals = [{
@@ -239,6 +240,57 @@ describe('ReferralsSent Page', () => {
239
240
  await screen.findByText("- ".concat(NEXT_STEPS[1]));
240
241
  await screen.findByText("- ".concat(NEXT_STEPS[2]));
241
242
  });
243
+ it('creates a share event for each successfully sent referral with correct referralId', async () => {
244
+ mockResourceListsCall();
245
+ mockShareEventsCall();
246
+ renderReferralsSent();
247
+ const pendingShareEventCall1 = waitForRequest('POST', '/v1/share_events');
248
+ await setupShareFlow();
249
+ const [shareEventCall1, shareEventCall2] = await pendingShareEventCall1;
250
+ expect(shareEventCall1.body.data.attributes.shared_via_id).toBe('referral-id-1');
251
+ expect(shareEventCall2.body.data.attributes.shared_via_id).toBe('referral-id-2');
252
+ });
253
+ it('does not create share events when no referrals were successfully sent', async () => {
254
+ mockResourceListsCall();
255
+ const failedResultDetail = [{
256
+ id: '1',
257
+ index: 0,
258
+ sent: false,
259
+ referralId: '',
260
+ error: 'network error'
261
+ }];
262
+ renderReferralsSent({
263
+ referralsResultDetail: failedResultDetail
264
+ });
265
+ expect(await screen.findByRole('button', {
266
+ name: /share resources/i,
267
+ disabled: true
268
+ })).toBeInTheDocument();
269
+ });
270
+ it('only creates share events for sent referrals, skipping failed ones', async () => {
271
+ mockResourceListsCall();
272
+ mockShareEventsCall();
273
+ const mixedResultDetail = [{
274
+ id: '1',
275
+ index: 0,
276
+ sent: true,
277
+ referralId: 'referral-id-1',
278
+ error: null
279
+ }, {
280
+ id: '2',
281
+ index: 1,
282
+ sent: false,
283
+ referralId: '',
284
+ error: 'creation failed'
285
+ }];
286
+ renderReferralsSent({
287
+ referralsResultDetail: mixedResultDetail
288
+ });
289
+ const pendingShareEventCall = waitForRequest('POST', '/v1/share_events');
290
+ await setupShareFlow();
291
+ const [shareEventCall] = await pendingShareEventCall;
292
+ expect(shareEventCall.body.data.attributes.shared_via_id).toBe('referral-id-1');
293
+ });
242
294
  });
243
295
  });
244
296
  //# sourceMappingURL=ReferralsSent.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReferralsSent.test.js","names":["screen","render","waitFor","person","mockAppReferralsProps","referrals","ReferralsSent","userEvent","server","waitForRequest","rest","newResourceList","newShareEvent","updatedResourceList","CALLBACKS","OFF_PLATFORM_REFERRALS_ONLY","NEXT_STEPS","jsx","_jsx","jest","mock","_objectSpread","requireActual","INITIAL_ADDRESSES","APP_ENVIRONMENT","sharesUrl","providerId","notify","success","fn","error","warning","info","mockResourceListsCall","use","post","req","res","ctx","status","json","data","id","type","attributes","sent_to_ehr","mockShareEventsCall","once","mockPatchResourceListsCall","patch","renderReferralsSent","props","arguments","length","undefined","isSuccessfullyForwarded","appContextProviderProps","initialAddresses","currentProvider","appState","currentEmployee","source","originalWindowOpen","window","open","beforeEach","clearAllMocks","afterEach","resetHandlers","afterAll","describe","setupShareFlow","shareResourcesButton","findByRole","name","click","print","findByDisplayValue","printButton","it","pendingResourceListCall","pendingShareEventCall","resourceListCall","shareEventCall","expect","body","toEqual","resourceListId","toHaveBeenCalledTimes","not","toHaveBeenCalled","unlistedReferrals","programs","service","queryByRole","toBeInTheDocument","mixedReferrals","receiving_referrals","shareButton","toHaveAttribute","findByText","concat","queryByText"],"sources":["../../../../src/pages/review/__tests__/ReferralsSent.test.js"],"sourcesContent":["import { screen } from \"@testing-library/react\";\nimport { render, waitFor } from \"../../../__testUtils__/test-utils\";\nimport { person } from \"../../../__testUtils__/mockData/mockPeople\";\nimport mockAppReferralsProps from \"../../../__testUtils__/mockData/components/mockAppReferrals\";\nimport { referrals } from \"./data\";\nimport ReferralsSent from \"../ReferralsSent\";\nimport userEvent from '@testing-library/user-event';\nimport { server, waitForRequest } from \"../../../__testUtils__/mockServer/server\";\nimport { rest } from \"msw\";\nimport { newResourceList, newShareEvent, updatedResourceList } from \"./data\";\nimport { CALLBACKS } from '../../../api/config';\nimport { OFF_PLATFORM_REFERRALS_ONLY, NEXT_STEPS } from '../../builder/constants';\n\njest.mock(\"../../../api/config\", () => ({\n ...jest.requireActual('../../../api/config'),\n INITIAL_ADDRESSES: {},\n APP_ENVIRONMENT: { sharesUrl: 'localhost:8080/test', providerId: \"test-provider-id\"},\n CALLBACKS: {\n notify: {\n success: jest.fn(),\n error: jest.fn(),\n warning: jest.fn(),\n info: jest.fn()\n }\n }\n}));\n\nconst mockResourceListsCall = () => {\n server.use(rest.post('*/resource_lists', (req, res, ctx) => {\n return res(\n ctx.status(201),\n ctx.json({\n data: {\n id: 'test-resource-list-id',\n type: 'resource_list',\n attributes: {\n sent_to_ehr: true,\n }\n },\n }),\n );\n }));\n}\n\nconst mockShareEventsCall = () => {\n server.use(rest.post('*/share_events', (req, res, ctx) => res.once(\n ctx.status(201),\n ctx.json({\n data: {\n id: 'test-share-event-id',\n type: 'share_event',\n },\n }),\n )));\n}\n\nconst mockPatchResourceListsCall = () => {\n server.use(rest.patch('*/resource_lists/*', (req, res, ctx) => res.once(\n ctx.status(201),\n ctx.json({\n data: {\n id: 'test-resource-list-id',\n type: 'resource_list',\n attributes: {\n sent_to_ehr: true,\n }\n },\n }),\n )));\n}\n\nconst renderReferralsSent = (props = {}) => {\n return render(\n <ReferralsSent \n referrals={referrals}\n isSuccessfullyForwarded={true}\n {...props}\n />, {\n appContextProviderProps: {\n initialAddresses: {},\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n source: 'app-client',\n ...props.appContextProviderProps\n }\n }\n );\n}\n\nconst originalWindowOpen = window.open;\n\nbeforeEach(() => {\n window.open = jest.fn();\n jest.clearAllMocks();\n});\n\nafterEach(() => {\n server.resetHandlers();\n});\n\nafterAll(() => { \n window.open = originalWindowOpen; \n});\n\ndescribe('ReferralsSent Page', () => {\n describe('Shares', () => {\n const setupShareFlow = async () => {\n const shareResourcesButton = await screen.findByRole('button', { name: /share resources/i });\n userEvent.click(shareResourcesButton);\n \n const print = await screen.findByDisplayValue(/print/i);\n userEvent.click(print);\n \n const printButton = await screen.findByRole('button', { name: /print/i });\n userEvent.click(printButton);\n }\n\n it('creates a new resource list when one does not exist', async () => {\n mockResourceListsCall();\n mockShareEventsCall();\n renderReferralsSent();\n\n const pendingResourceListCall = waitForRequest('POST', '/v1/resource_lists');\n const pendingShareEventCall = waitForRequest('POST', '/v1/share_events');\n\n await setupShareFlow();\n\n const [resourceListCall] = await pendingResourceListCall;\n const [shareEventCall] = await pendingShareEventCall;\n\n expect(resourceListCall.body.data).toEqual(newResourceList);\n expect(shareEventCall.body.data).toEqual(newShareEvent);\n });\n\n it('creates a share event and updates existing resource list', async () => {\n mockShareEventsCall();\n mockPatchResourceListsCall();\n\n renderReferralsSent({\n appContextProviderProps: {\n resourceListId: 'test-resource-list-id'\n }\n });\n\n const pendingShareEventCall = waitForRequest('POST', '/v1/share_events');\n const pendingResourceListCall = waitForRequest('PATCH', '/v1/resource_lists/test-resource-list-id');\n\n await setupShareFlow();\n\n const [shareEventCall] = await pendingShareEventCall;\n const [resourceListCall] = await pendingResourceListCall;\n\n expect(shareEventCall.body.data).toEqual(newShareEvent);\n expect(resourceListCall.body.data).toEqual(updatedResourceList);\n });\n\n it('shows success toast when sent_to_ehr is true', async () => {\n mockResourceListsCall();\n mockShareEventsCall();\n renderReferralsSent();\n\n await setupShareFlow();\n\n await waitFor(() => {\n expect(CALLBACKS.notify.success).toHaveBeenCalledTimes(1);\n });\n });\n\n it('does not show success toast when sent_to_ehr is false', async () => {\n mockResourceListsCall();\n mockShareEventsCall();\n renderReferralsSent();\n\n await setupShareFlow();\n\n await waitFor(() => {\n expect(CALLBACKS.notify.success).not.toHaveBeenCalled();\n });\n });\n\n it('hide share button when all programs are unlisted', async () => {\n const unlistedReferrals = [\n {\n programs: [\n { id: 'unlisted_program1', name: 'Unlisted Program 1', status: OFF_PLATFORM_REFERRALS_ONLY }\n ],\n service: { id: 'service-1', name: 'Service 1' }\n }\n ];\n\n renderReferralsSent({ referrals: unlistedReferrals });\n \n await waitFor(() => {\n expect(screen.queryByRole('button', { name: /share resources/i })).not.toBeInTheDocument();\n });\n });\n\n it('enables share button when at least one program is not unlisted', async () => {\n const mixedReferrals = [\n {\n programs: [\n { id: 'unlisted_program1', name: 'Unlisted Program 1', status: OFF_PLATFORM_REFERRALS_ONLY },\n { id: 'regular-program-1', name: 'Regular Program 1', receiving_referrals: true }\n ],\n service: { id: 'service-1', name: 'Service 1' }\n }\n ];\n\n renderReferralsSent({ referrals: mixedReferrals });\n \n const shareButton = await screen.findByRole('button', { name: /share resources/i });\n expect(shareButton).toHaveAttribute('aria-disabled', 'false');\n });\n\n it('shows only off-platform info in next steps when all programs are unlisted', async () => {\n const unlistedReferrals = [\n {\n programs: [\n { id: 'unlisted_program1', name: 'Unlisted Program 1', status: OFF_PLATFORM_REFERRALS_ONLY },\n { id: 'unlisted_program2', name: 'Unlisted Program 2', status: OFF_PLATFORM_REFERRALS_ONLY }\n ],\n service: { id: 'service-1', name: 'Service 1' }\n }\n ];\n\n renderReferralsSent({ referrals: unlistedReferrals });\n\n await screen.findByText(`- ${NEXT_STEPS[2]}`);\n expect(screen.queryByText(`- ${NEXT_STEPS[0]}`)).not.toBeInTheDocument();\n expect(screen.queryByText(`- ${NEXT_STEPS[1]}`)).not.toBeInTheDocument();\n });\n\n it('shows all next steps when at least one program is not unlisted', async () => {\n const mixedReferrals = [\n {\n programs: [\n { id: 'unlisted_program1', name: 'Unlisted Program 1', status: OFF_PLATFORM_REFERRALS_ONLY },\n { id: 'regular-program-1', name: 'Regular Program 1', receiving_referrals: true }\n ],\n service: { id: 'service-1', name: 'Service 1' }\n }\n ];\n\n renderReferralsSent({ referrals: mixedReferrals });\n\n await screen.findByText(`- ${NEXT_STEPS[0]}`);\n await screen.findByText(`- ${NEXT_STEPS[1]}`);\n await screen.findByText(`- ${NEXT_STEPS[2]}`);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ReferralsSent.test.js","names":["screen","render","waitFor","person","mockAppReferralsProps","referrals","referralsResultDetailMock","ReferralsSent","userEvent","server","waitForRequest","rest","newResourceList","newShareEvent","updatedResourceList","CALLBACKS","OFF_PLATFORM_REFERRALS_ONLY","NEXT_STEPS","jsx","_jsx","jest","mock","_objectSpread","requireActual","INITIAL_ADDRESSES","APP_ENVIRONMENT","sharesUrl","providerId","notify","success","fn","error","warning","info","mockResourceListsCall","use","post","req","res","ctx","status","json","data","id","type","attributes","sent_to_ehr","mockShareEventsCall","mockPatchResourceListsCall","patch","once","renderReferralsSent","props","arguments","length","undefined","isSuccessfullyForwarded","referralsResultDetail","appContextProviderProps","initialAddresses","currentProvider","appState","currentEmployee","source","originalWindowOpen","window","open","beforeEach","clearAllMocks","afterEach","resetHandlers","afterAll","describe","setupShareFlow","shareResourcesButton","findByRole","name","click","print","findByDisplayValue","printButton","it","pendingResourceListCall","pendingShareEventCall","resourceListCall","shareEventCall","expect","body","toEqual","resourceListId","toHaveBeenCalledTimes","not","toHaveBeenCalled","unlistedReferrals","programs","service","queryByRole","toBeInTheDocument","mixedReferrals","receiving_referrals","shareButton","toBeEnabled","findByText","concat","queryByText","pendingShareEventCall1","shareEventCall1","shareEventCall2","shared_via_id","toBe","failedResultDetail","index","sent","referralId","disabled","mixedResultDetail"],"sources":["../../../../src/pages/review/__tests__/ReferralsSent.test.js"],"sourcesContent":["import { screen } from \"@testing-library/react\";\nimport { render, waitFor } from \"../../../__testUtils__/test-utils\";\nimport { person } from \"../../../__testUtils__/mockData/mockPeople\";\nimport mockAppReferralsProps from \"../../../__testUtils__/mockData/components/mockAppReferrals\";\nimport { referrals, referralsResultDetailMock } from \"./data\";\nimport ReferralsSent from \"../ReferralsSent\";\nimport userEvent from '@testing-library/user-event';\nimport { server, waitForRequest } from \"../../../__testUtils__/mockServer/server\";\nimport { rest } from \"msw\";\nimport { newResourceList, newShareEvent, updatedResourceList } from \"./data\";\nimport { CALLBACKS } from '../../../api/config';\nimport { OFF_PLATFORM_REFERRALS_ONLY, NEXT_STEPS } from '../../builder/constants';\n\njest.mock(\"../../../api/config\", () => ({\n ...jest.requireActual('../../../api/config'),\n INITIAL_ADDRESSES: {},\n APP_ENVIRONMENT: { sharesUrl: 'localhost:8080/test', providerId: \"test-provider-id\"},\n CALLBACKS: {\n notify: {\n success: jest.fn(),\n error: jest.fn(),\n warning: jest.fn(),\n info: jest.fn()\n }\n }\n}));\n\nconst mockResourceListsCall = () => {\n server.use(rest.post('*/resource_lists', (req, res, ctx) => {\n return res(\n ctx.status(201),\n ctx.json({\n data: {\n id: 'test-resource-list-id',\n type: 'resource_list',\n attributes: {\n sent_to_ehr: true,\n }\n },\n }),\n );\n }));\n}\n\nconst mockShareEventsCall = () => {\n server.use(rest.post('*/share_events', (req, res, ctx) => res(\n ctx.status(201),\n ctx.json({\n data: {\n id: 'test-share-event-id',\n type: 'share_event',\n },\n }),\n )));\n}\n\nconst mockPatchResourceListsCall = () => {\n server.use(rest.patch('*/resource_lists/*', (req, res, ctx) => res.once(\n ctx.status(201),\n ctx.json({\n data: {\n id: 'test-resource-list-id',\n type: 'resource_list',\n attributes: {\n sent_to_ehr: true,\n }\n },\n }),\n )));\n}\n\nconst renderReferralsSent = (props = {}) => {\n return render(\n <ReferralsSent \n referrals={referrals}\n isSuccessfullyForwarded={true}\n referralsResultDetail={referralsResultDetailMock}\n {...props}\n />, {\n appContextProviderProps: {\n initialAddresses: {},\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee,\n source: 'app-client',\n ...props.appContextProviderProps\n }\n }\n );\n}\n\nconst originalWindowOpen = window.open;\n\nbeforeEach(() => {\n window.open = jest.fn();\n jest.clearAllMocks();\n});\n\nafterEach(() => {\n server.resetHandlers();\n});\n\nafterAll(() => { \n window.open = originalWindowOpen; \n});\n\ndescribe('ReferralsSent Page', () => {\n describe('Shares', () => {\n const setupShareFlow = async () => {\n const shareResourcesButton = await screen.findByRole('button', { name: /share resources/i });\n userEvent.click(shareResourcesButton);\n \n const print = await screen.findByDisplayValue(/print/i);\n userEvent.click(print);\n \n const printButton = await screen.findByRole('button', { name: /print/i });\n userEvent.click(printButton);\n }\n\n it('creates a new resource list when one does not exist', async () => {\n mockResourceListsCall();\n mockShareEventsCall();\n renderReferralsSent();\n\n const pendingResourceListCall = waitForRequest('POST', '/v1/resource_lists');\n const pendingShareEventCall = waitForRequest('POST', '/v1/share_events');\n\n await setupShareFlow();\n\n const [resourceListCall] = await pendingResourceListCall;\n const [shareEventCall] = await pendingShareEventCall;\n\n expect(resourceListCall.body.data).toEqual(newResourceList);\n expect(shareEventCall.body.data).toEqual(newShareEvent);\n });\n\n it('creates a share event and updates existing resource list', async () => {\n mockShareEventsCall();\n mockPatchResourceListsCall();\n\n renderReferralsSent({\n appContextProviderProps: {\n resourceListId: 'test-resource-list-id'\n }\n });\n\n const pendingShareEventCall = waitForRequest('POST', '/v1/share_events');\n const pendingResourceListCall = waitForRequest('PATCH', '/v1/resource_lists/test-resource-list-id');\n\n await setupShareFlow();\n\n const [shareEventCall] = await pendingShareEventCall;\n const [resourceListCall] = await pendingResourceListCall;\n\n expect(shareEventCall.body.data).toEqual(newShareEvent);\n expect(resourceListCall.body.data).toEqual(updatedResourceList);\n });\n\n it('shows success toast when sent_to_ehr is true', async () => {\n mockResourceListsCall();\n mockShareEventsCall();\n renderReferralsSent();\n\n await setupShareFlow();\n\n await waitFor(() => {\n expect(CALLBACKS.notify.success).toHaveBeenCalledTimes(1);\n });\n });\n\n it('does not show success toast when sent_to_ehr is false', async () => {\n mockResourceListsCall();\n mockShareEventsCall();\n renderReferralsSent();\n\n await setupShareFlow();\n\n await waitFor(() => {\n expect(CALLBACKS.notify.success).not.toHaveBeenCalled();\n });\n });\n\n it('hide share button when all programs are unlisted', async () => {\n const unlistedReferrals = [\n {\n programs: [\n { id: 'unlisted_program1', name: 'Unlisted Program 1', status: OFF_PLATFORM_REFERRALS_ONLY }\n ],\n service: { id: 'service-1', name: 'Service 1' }\n }\n ];\n\n renderReferralsSent({ referrals: unlistedReferrals });\n \n await waitFor(() => {\n expect(screen.queryByRole('button', { name: /share resources/i })).not.toBeInTheDocument();\n });\n });\n\n it('enables share button when at least one program is not unlisted', async () => {\n const mixedReferrals = [\n {\n programs: [\n { id: 'unlisted_program1', name: 'Unlisted Program 1', status: OFF_PLATFORM_REFERRALS_ONLY },\n { id: 'regular-program-1', name: 'Regular Program 1', receiving_referrals: true }\n ],\n service: { id: 'service-1', name: 'Service 1' }\n }\n ];\n\n renderReferralsSent({ referrals: mixedReferrals });\n \n const shareButton = await screen.findByRole('button', { name: /share resources/i });\n expect(shareButton).toBeEnabled();\n });\n\n it('shows only off-platform info in next steps when all programs are unlisted', async () => {\n const unlistedReferrals = [\n {\n programs: [\n { id: 'unlisted_program1', name: 'Unlisted Program 1', status: OFF_PLATFORM_REFERRALS_ONLY },\n { id: 'unlisted_program2', name: 'Unlisted Program 2', status: OFF_PLATFORM_REFERRALS_ONLY }\n ],\n service: { id: 'service-1', name: 'Service 1' }\n }\n ];\n\n renderReferralsSent({ referrals: unlistedReferrals });\n\n await screen.findByText(`- ${NEXT_STEPS[2]}`);\n expect(screen.queryByText(`- ${NEXT_STEPS[0]}`)).not.toBeInTheDocument();\n expect(screen.queryByText(`- ${NEXT_STEPS[1]}`)).not.toBeInTheDocument();\n });\n\n it('shows all next steps when at least one program is not unlisted', async () => {\n const mixedReferrals = [\n {\n programs: [\n { id: 'unlisted_program1', name: 'Unlisted Program 1', status: OFF_PLATFORM_REFERRALS_ONLY },\n { id: 'regular-program-1', name: 'Regular Program 1', receiving_referrals: true }\n ],\n service: { id: 'service-1', name: 'Service 1' }\n }\n ];\n\n renderReferralsSent({ referrals: mixedReferrals });\n\n await screen.findByText(`- ${NEXT_STEPS[0]}`);\n await screen.findByText(`- ${NEXT_STEPS[1]}`);\n await screen.findByText(`- ${NEXT_STEPS[2]}`);\n });\n\n it('creates a share event for each successfully sent referral with correct referralId', async () => {\n mockResourceListsCall();\n mockShareEventsCall();\n\n renderReferralsSent();\n\n const pendingShareEventCall1 = waitForRequest('POST', '/v1/share_events');\n\n await setupShareFlow();\n\n const [shareEventCall1, shareEventCall2] = await pendingShareEventCall1;\n\n expect(shareEventCall1.body.data.attributes.shared_via_id).toBe('referral-id-1');\n expect(shareEventCall2.body.data.attributes.shared_via_id).toBe('referral-id-2');\n });\n\n it('does not create share events when no referrals were successfully sent', async () => {\n mockResourceListsCall();\n\n const failedResultDetail = [\n { id: '1', index: 0, sent: false, referralId: '', error: 'network error' },\n ];\n\n renderReferralsSent({\n referralsResultDetail: failedResultDetail,\n });\n\n expect(await screen.findByRole('button', { name: /share resources/i, disabled: true })).toBeInTheDocument();\n });\n\n it('only creates share events for sent referrals, skipping failed ones', async () => {\n mockResourceListsCall();\n mockShareEventsCall();\n\n const mixedResultDetail = [\n { id: '1', index: 0, sent: true, referralId: 'referral-id-1', error: null },\n { id: '2', index: 1, sent: false, referralId: '', error: 'creation failed' },\n ];\n\n renderReferralsSent({\n referralsResultDetail: mixedResultDetail,\n });\n\n const pendingShareEventCall = waitForRequest('POST', '/v1/share_events');\n\n await setupShareFlow();\n\n const [shareEventCall] = await pendingShareEventCall;\n\n expect(shareEventCall.body.data.attributes.shared_via_id).toBe('referral-id-1');\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1608,6 +1608,7 @@ export const newShareEvent = {
1608
1608
  type: 'share_event',
1609
1609
  attributes: {
1610
1610
  shared_via_type: 'referral',
1611
+ shared_via_id: 'referral-id-1',
1611
1612
  shared_method_type: 'print',
1612
1613
  shared_language: 'en',
1613
1614
  originating_app: 'app-client'
@@ -1627,4 +1628,17 @@ export const newShareEvent = {
1627
1628
  }
1628
1629
  }
1629
1630
  };
1631
+ export const referralsResultDetailMock = [{
1632
+ id: '1',
1633
+ index: 0,
1634
+ sent: true,
1635
+ referralId: 'referral-id-1',
1636
+ error: null
1637
+ }, {
1638
+ id: '2',
1639
+ index: 1,
1640
+ sent: true,
1641
+ referralId: 'referral-id-2',
1642
+ error: null
1643
+ }];
1630
1644
  //# sourceMappingURL=data.js.map