diff --git a/api/src/services/uploads/uploads.test.ts b/api/src/services/uploads/uploads.test.ts index d64a68af..cedb8c06 100644 --- a/api/src/services/uploads/uploads.test.ts +++ b/api/src/services/uploads/uploads.test.ts @@ -480,9 +480,8 @@ describe('treasury report', () => { .fn() .mockRejectedValue(new Error('Database error')) - const result = await sendTreasuryReport() + await expect(sendTreasuryReport()).rejects.toThrow('Database error') - expect(result).toBe(false) expect(logger.error).toHaveBeenCalledWith( expect.any(Error), 'Error sending Treasury Report' diff --git a/api/src/services/uploads/uploads.ts b/api/src/services/uploads/uploads.ts index d494072b..f9a861ec 100644 --- a/api/src/services/uploads/uploads.ts +++ b/api/src/services/uploads/uploads.ts @@ -7,6 +7,8 @@ import type { } from 'types/graphql' import { v4 as uuidv4 } from 'uuid' +import { RedwoodError } from '@redwoodjs/api' + import { CurrentUser } from 'src/lib/auth' import { hasRole } from 'src/lib/auth' import { @@ -404,6 +406,6 @@ export const sendTreasuryReport: MutationResolvers['sendTreasuryReport'] = return true } catch (error) { logger.error(error, 'Error sending Treasury Report') - return false + throw new RedwoodError(error.message) } } diff --git a/web/src/pages/Upload/UploadsPage/UploadsPage.tsx b/web/src/pages/Upload/UploadsPage/UploadsPage.tsx index fdadeed4..794cbf3f 100644 --- a/web/src/pages/Upload/UploadsPage/UploadsPage.tsx +++ b/web/src/pages/Upload/UploadsPage/UploadsPage.tsx @@ -2,7 +2,8 @@ import { ROLES } from 'api/src/lib/constants' import { Button, ButtonGroup } from 'react-bootstrap' import { useAuth } from 'web/src/auth' -import { useMutation, MetaTags } from '@redwoodjs/web' +import { useMutation, Metadata } from '@redwoodjs/web' +import { toast } from '@redwoodjs/web/toast' import UploadsCell from 'src/components/Upload/UploadsCell' @@ -16,10 +17,10 @@ const UploadsPage = () => { const { hasRole } = useAuth() const [sendTreasuryReport] = useMutation(SEND_TREASURY_REPORT, { onCompleted: () => { - console.log('Treasury Report sent by email') + toast.success('Treasury Report has been sent') }, onError: (error) => { - console.error('Error sending Treasury Report by email', error) + toast.error('Error sending Treasury Report by email: ' + error.message) }, }) @@ -29,7 +30,7 @@ const UploadsPage = () => { return ( <> - +

Uploads