From 579bd0365bdcc47860d46cae24d1e2f1051ed217 Mon Sep 17 00:00:00 2001 From: Muhammad Adeel Tajamul <77053848+muhammadadeeltajamul@users.noreply.github.com> Date: Thu, 21 Aug 2025 23:09:28 +0500 Subject: [PATCH] feat: updated notification preferences unsubscribe flow (#1778) --- src/constants.ts | 2 +- src/preferences-unsubscribe/data/api.js | 8 ++++---- src/preferences-unsubscribe/index.jsx | 6 +++--- src/preferences-unsubscribe/index.test.jsx | 6 ++---- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/constants.ts b/src/constants.ts index 06dc4f86..a1741ca3 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -22,7 +22,7 @@ export const DECODE_ROUTES = { export const ROUTES = { UNSUBSCRIBE: '/goal-unsubscribe/:token', - PREFERENCES_UNSUBSCRIBE: '/preferences-unsubscribe/:userToken/:updatePatch', + PREFERENCES_UNSUBSCRIBE: '/preferences-unsubscribe/:userToken/:updatePatch?', REDIRECT: '/redirect/*', DASHBOARD: 'dashboard', ENTERPRISE_LEARNER_DASHBOARD: 'enterprise-learner-dashboard', diff --git a/src/preferences-unsubscribe/data/api.js b/src/preferences-unsubscribe/data/api.js index 395f3c31..0e472dd2 100644 --- a/src/preferences-unsubscribe/data/api.js +++ b/src/preferences-unsubscribe/data/api.js @@ -1,11 +1,11 @@ import { getConfig } from '@edx/frontend-platform'; import { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth'; -export const getUnsubscribeUrl = (userToken, updatePatch) => ( - `${getConfig().LMS_BASE_URL}/api/notifications/preferences/update/${userToken}/${updatePatch}/` +export const getUnsubscribeUrl = (userToken) => ( + `${getConfig().LMS_BASE_URL}/api/notifications/preferences/update/${userToken}/` ); -export async function unsubscribeNotificationPreferences(userToken, updatePatch) { - const url = getUnsubscribeUrl(userToken, updatePatch); +export async function unsubscribeNotificationPreferences(userToken) { + const url = getUnsubscribeUrl(userToken); return getAuthenticatedHttpClient().get(url); } diff --git a/src/preferences-unsubscribe/index.jsx b/src/preferences-unsubscribe/index.jsx index a8667baa..0829e089 100644 --- a/src/preferences-unsubscribe/index.jsx +++ b/src/preferences-unsubscribe/index.jsx @@ -17,18 +17,18 @@ import messages from './messages'; const PreferencesUnsubscribe = () => { const intl = useIntl(); - const { userToken, updatePatch } = useParams(); + const { userToken } = useParams(); const [status, setStatus] = useState(LOADING); useEffect(() => { - unsubscribeNotificationPreferences(userToken, updatePatch).then( + unsubscribeNotificationPreferences(userToken).then( () => setStatus(LOADED), (error) => { setStatus(FAILED); logError(error); }, ); - sendTrackEvent('edx.ui.lms.notifications.preferences.unsubscribe', { userToken, updatePatch }); + sendTrackEvent('edx.ui.lms.notifications.preferences.unsubscribe', { userToken }); }, []); const pageContent = { diff --git a/src/preferences-unsubscribe/index.test.jsx b/src/preferences-unsubscribe/index.test.jsx index 52cef01b..e1973e22 100644 --- a/src/preferences-unsubscribe/index.test.jsx +++ b/src/preferences-unsubscribe/index.test.jsx @@ -24,8 +24,7 @@ describe('Notification Preferences One Click Unsubscribe', () => { let component; let store; const userToken = '1234'; - const updatePatch = 'abc123'; - const url = getUnsubscribeUrl(userToken, updatePatch); + const url = getUnsubscribeUrl(userToken); beforeAll(async () => { await initializeTestStore(); @@ -39,7 +38,7 @@ describe('Notification Preferences One Click Unsubscribe', () => { component = ( - + } /> @@ -69,7 +68,6 @@ describe('Notification Preferences One Click Unsubscribe', () => { expect(screen.getByTestId('heading-text')).toHaveTextContent('Error unsubscribing from preference'); expect(sendTrackEvent).toHaveBeenCalledWith('edx.ui.lms.notifications.preferences.unsubscribe', { userToken, - updatePatch, }); }); });