From f8179c92baa6aac6d50b10f29bf0065868def04a Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Wed, 14 Jan 2026 15:47:41 -0800 Subject: [PATCH] agent feedback (#1614) --- .../management/ManageDocumentsScreen.tsx | 3 +- .../provingMachine.documentProcessor.test.ts | 44 ++++++++++--------- 2 files changed, 25 insertions(+), 22 deletions(-) diff --git a/app/src/screens/documents/management/ManageDocumentsScreen.tsx b/app/src/screens/documents/management/ManageDocumentsScreen.tsx index f1aef3eb1..665bf8d1e 100644 --- a/app/src/screens/documents/management/ManageDocumentsScreen.tsx +++ b/app/src/screens/documents/management/ManageDocumentsScreen.tsx @@ -109,7 +109,8 @@ const PassportDataSelector = () => { try { await setSelectedDocument(documentId); navigation.navigate('ConfirmBelonging', {}); - } catch { + } catch (error) { + console.error('Failed to navigate to registration:', error); Alert.alert( 'Registration Error', 'Failed to prepare document for registration. Please try again.', diff --git a/packages/mobile-sdk-alpha/tests/proving/provingMachine.documentProcessor.test.ts b/packages/mobile-sdk-alpha/tests/proving/provingMachine.documentProcessor.test.ts index 28b7b77d5..429040ce7 100644 --- a/packages/mobile-sdk-alpha/tests/proving/provingMachine.documentProcessor.test.ts +++ b/packages/mobile-sdk-alpha/tests/proving/provingMachine.documentProcessor.test.ts @@ -820,25 +820,26 @@ describe('validatingDocument', () => { loadSelectedDocumentMock.mockResolvedValue({ data: passportData } as any); - const originalFetch = globalThis.fetch; - globalThis.fetch = vi.fn(() => + const fetchSpy = vi.spyOn(globalThis, 'fetch').mockImplementation(() => Promise.resolve({ ok: true, json: () => Promise.resolve({ data: true }), } as Response), ); - await useProvingStore.getState().init(selfClient, 'register'); - actorMock.send.mockClear(); - vi.mocked(selfClient.trackEvent).mockClear(); + try { + await useProvingStore.getState().init(selfClient, 'register'); + actorMock.send.mockClear(); + vi.mocked(selfClient.trackEvent).mockClear(); - useProvingStore.setState({ passportData, secret, circuitType: 'register' }); + useProvingStore.setState({ passportData, secret, circuitType: 'register' }); - await useProvingStore.getState().validatingDocument(selfClient); + await useProvingStore.getState().validatingDocument(selfClient); - expect(actorMock.send).toHaveBeenCalledWith({ type: 'ACCOUNT_RECOVERY_CHOICE' }); - - globalThis.fetch = originalFetch; + expect(actorMock.send).toHaveBeenCalledWith({ type: 'ACCOUNT_RECOVERY_CHOICE' }); + } finally { + fetchSpy.mockRestore(); + } }); it('switches to register circuit when DSC is already in the tree', async () => { @@ -866,26 +867,27 @@ describe('validatingDocument', () => { loadSelectedDocumentMock.mockResolvedValue({ data: passportData } as any); - const originalFetch = globalThis.fetch; - globalThis.fetch = vi.fn(() => + const fetchSpy = vi.spyOn(globalThis, 'fetch').mockImplementation(() => Promise.resolve({ ok: true, json: () => Promise.resolve({ data: false }), } as Response), ); - await useProvingStore.getState().init(selfClient, 'dsc'); - actorMock.send.mockClear(); - vi.mocked(selfClient.trackEvent).mockClear(); + try { + await useProvingStore.getState().init(selfClient, 'dsc'); + actorMock.send.mockClear(); + vi.mocked(selfClient.trackEvent).mockClear(); - useProvingStore.setState({ passportData, secret, circuitType: 'dsc' }); + useProvingStore.setState({ passportData, secret, circuitType: 'dsc' }); - await useProvingStore.getState().validatingDocument(selfClient); + await useProvingStore.getState().validatingDocument(selfClient); - expect(useProvingStore.getState().circuitType).toBe('register'); - expect(actorMock.send).toHaveBeenCalledWith({ type: 'VALIDATION_SUCCESS' }); - - globalThis.fetch = originalFetch; + expect(useProvingStore.getState().circuitType).toBe('register'); + expect(actorMock.send).toHaveBeenCalledWith({ type: 'VALIDATION_SUCCESS' }); + } finally { + fetchSpy.mockRestore(); + } }); it('emits VALIDATION_ERROR when validation throws', async () => {