From 8af1de6f82c445e52752ba514cdbf8ebef295e06 Mon Sep 17 00:00:00 2001 From: adibmbrk Date: Mon, 26 Oct 2026 16:17:27 +0530 Subject: [PATCH 1/3] Remove Vuetify from Forgot password page Signed-off-by: adibmbrk --- .../pages/__tests__/forgotPassword.spec.js | 8 +- .../pages/resetPassword/ForgotPassword.vue | 77 ++++++++++++++----- 2 files changed, 63 insertions(+), 22 deletions(-) diff --git a/contentcuration/contentcuration/frontend/accounts/pages/__tests__/forgotPassword.spec.js b/contentcuration/contentcuration/frontend/accounts/pages/__tests__/forgotPassword.spec.js index ca34fa905f..dacc30c839 100644 --- a/contentcuration/contentcuration/frontend/accounts/pages/__tests__/forgotPassword.spec.js +++ b/contentcuration/contentcuration/frontend/accounts/pages/__tests__/forgotPassword.spec.js @@ -1,6 +1,7 @@ import { render, screen, fireEvent, waitFor } from '@testing-library/vue'; import VueRouter from 'vue-router'; import ForgotPassword from '../resetPassword/ForgotPassword'; +import commonStrings from 'shared/translator'; const sendPasswordResetLinkMock = jest.fn(() => Promise.resolve()); @@ -40,11 +41,13 @@ describe('ForgotPassword', () => { expect(screen.getByText('Reset your password')).toBeInTheDocument(); expect(screen.getByLabelText('Email')).toBeInTheDocument(); expect(screen.getByRole('button', { name: 'Submit' })).toBeInTheDocument(); + expect(screen.queryByTestId('error-banner')).not.toBeInTheDocument(); }); it('should not submit form with empty email', async () => { renderComponent(); await fireEvent.click(screen.getByRole('button', { name: 'Submit' })); + expect(await screen.findByText(commonStrings.$tr('fieldRequired'))).toBeInTheDocument(); expect(sendPasswordResetLinkMock).not.toHaveBeenCalled(); }); @@ -52,6 +55,7 @@ describe('ForgotPassword', () => { renderComponent(); await fireEvent.update(screen.getByLabelText(/email/i), 'invalid-email'); await fireEvent.click(screen.getByRole('button', { name: 'Submit' })); + expect(await screen.findByText(ForgotPassword.$trs.emailValidationMessage)).toBeInTheDocument(); expect(sendPasswordResetLinkMock).not.toHaveBeenCalled(); }); @@ -74,6 +78,8 @@ describe('ForgotPassword', () => { renderComponent(); await fireEvent.update(screen.getByLabelText(/email/i), 'test@test.com'); await fireEvent.click(screen.getByRole('button', { name: 'Submit' })); - expect(await screen.findByTestId('error-banner')).toBeInTheDocument(); + expect(await screen.findByTestId('error-banner')).toHaveTextContent( + ForgotPassword.$trs.forgotPasswordFailed, + ); }); }); diff --git a/contentcuration/contentcuration/frontend/accounts/pages/resetPassword/ForgotPassword.vue b/contentcuration/contentcuration/frontend/accounts/pages/resetPassword/ForgotPassword.vue index c6581cd722..fa1c1a3fe9 100644 --- a/contentcuration/contentcuration/frontend/accounts/pages/resetPassword/ForgotPassword.vue +++ b/contentcuration/contentcuration/frontend/accounts/pages/resetPassword/ForgotPassword.vue @@ -1,24 +1,27 @@ @@ -35,29 +38,48 @@