diff --git a/playwright-tests/tests/home.page.spec.ts b/playwright-tests/tests/home.page.spec.ts index 15010c6..a624bc1 100644 --- a/playwright-tests/tests/home.page.spec.ts +++ b/playwright-tests/tests/home.page.spec.ts @@ -90,7 +90,7 @@ test.describe('Validate Home Page', () => { await basePage.verifyURL('/mentorship/mentor-registration'); await basePage.verifyPageContainsText( - 'WCC: Registration Form for Mentors', + 'Welcome to the MentorRegistrationPage', ); }); diff --git a/src/components/ResourcesCard.tsx b/src/components/ResourcesCard.tsx index 6d1d21f..70cbb15 100644 --- a/src/components/ResourcesCard.tsx +++ b/src/components/ResourcesCard.tsx @@ -67,8 +67,6 @@ export const ResourcesCard: React.FC = ({ variant="contained" color="primary" href={link} - target="_blank" - rel="noopener noreferrer" sx={{ textTransform: 'none', borderRadius: 2, diff --git a/src/components/__tests__/ResourcesCard.test.tsx b/src/components/__tests__/ResourcesCard.test.tsx index 36bd397..aea508d 100644 --- a/src/components/__tests__/ResourcesCard.test.tsx +++ b/src/components/__tests__/ResourcesCard.test.tsx @@ -10,20 +10,15 @@ describe('ResourcesCard', () => { title: 'Test Card', description: 'This is a test description', buttonText: 'Click Me', - link: 'https://drive.google.com/file/d/1xPbW8BlQoLXkuAJ7m0RuvOV02Opyr445', + link: '#', }; - it('renders the title, description, button, link, and image', () => { + it('renders the title, description, button, and image', () => { render(); expect(screen.getByText('Test Card')).toBeInTheDocument(); expect(screen.getByText('This is a test description')).toBeInTheDocument(); - const link = screen.getByRole('link', { name: 'Click Me' }); - expect(link).toBeInTheDocument(); - expect(link).toHaveAttribute( - 'href', - 'https://drive.google.com/file/d/1xPbW8BlQoLXkuAJ7m0RuvOV02Opyr445', - ); + expect(screen.getByRole('link', { name: 'Click Me' })).toBeInTheDocument(); const img = screen.getByRole('img'); expect(img).toHaveAttribute('src', '/test.jpg'); diff --git a/src/lib/api.ts b/src/lib/api.ts index 75ce493..50317f8 100644 --- a/src/lib/api.ts +++ b/src/lib/api.ts @@ -11,7 +11,6 @@ import mentors from './responses/mentors.json'; import mentorShipPage from './responses/mentorship.json'; import mentorShipCodeOfConduct from './responses/mentorshipCodeOfConduct.json'; import mentorshipFaqPageData from './responses/mentorshipFaqPage.json'; -import mentorshipResourcesPage from './responses/mentorshipResources.json'; import studyGroupsPage from './responses/mentorshipStudyGroupsPage.json'; const apiBaseUrl = process.env.API_BASE_URL; @@ -68,7 +67,6 @@ const pageData = { 'mentorship/code-of-conduct': mentorShipCodeOfConduct, team: aboutUsTeam, 'mentorship/faq': mentorshipFaqPageData, - 'mentorship/resources': mentorshipResourcesPage, 'mentorship/study-groups': studyGroupsPage, }; diff --git a/src/lib/responses/mentorshipResources.json b/src/lib/responses/mentorshipResources.json index ae1d60d..ed6cd74 100644 --- a/src/lib/responses/mentorshipResources.json +++ b/src/lib/responses/mentorshipResources.json @@ -1,54 +1,28 @@ { - "id": "page:MENTORSHIP_RESOURCES", - "heroSection": { - "title": "Mentorship Resources" - }, - "section": { - "description": "Whether you’re a mentee looking to navigate your journey, a mentor aiming to provide the best guidance, or a seasoned mentor seeking quick tips, we have the tools you need. Explore our guides for insightful mentorship advice and strategies." - }, - "resourcesSection": { - "title": "Available Resources", - "description": "Download and explore our curated mentorship materials", - "items": [ - { - "title": "Mentees Guide", - "description": "A practical guide for mentees to get the most out of mentorship.", - "link": { - "label": "Download PDF", - "uri": "https://drive.google.com/file/d/1xPbW8BlQoLXkuAJ7m0RuvOV02Opyr445" - }, - "image": { - "path": "/mentee_guideMedia.jpg", - "alt": "woman working on a laptop", - "type": "desktop" - } - }, - { - "title": "Mentor's Pocketbook", - "description": "Quick mentor reference notes and useful mentorship tips.", - "link": { - "label": "Download PDF", - "uri": "https://drive.google.com/file/d/1rgoOTqqG4Gu6e4tw45efFspDnoYRgYd9" - }, - "image": { - "path": "/mentor_pocketbookMedia.jpg", - "alt": "Image decorative", - "type": "desktop" - } - }, - { - "title": "Mentor's Guide", - "description": "Guidance and best practices for mentors to support their mentees effectively.", - "link": { - "label": "Download PDF", - "uri": "https://drive.google.com/file/d/1wTkCSG95BVg-0XX4r7FnFiV24_SXlbM_" - }, - "image": { - "path": "/mentor_guideeMedia.jpg", - "alt": "two women sitting by a desk and talking together", - "type": "desktop" - } - } - ] - } + "heroTitle": "Mentorship Resources", + "heroDescription": "Whether you’re a mentee looking to navigate your journey, a mentor aiming to provide the best guidance, or a seasoned mentor seeking quick tips, we have the tools you need. Explore our guides for insightful mentorship advice and strategies.", + "resources": [ + { + "image": "/mentee_guideMedia.jpg", + "title": "Mentee’s Guide", + "description": "", + "buttonText": "View Guide", + "link": "#" + }, + { + "image": "/mentor_pocketbookMedia.jpg", + "title": "Mentor’s Pocketbook", + "description": "", + "buttonText": "View Pocketbook", + "link": "#" + }, + { + "image": "/mentor_guideeMedia.jpg", + "title": "Mentor’s Guide", + "description": "", + "buttonText": "View Guide", + "link": "#" + } + ], + "footer": "footerData.json content" } diff --git a/src/pages/mentorship/resources.tsx b/src/pages/mentorship/resources.tsx index e8eeabb..08babfb 100644 --- a/src/pages/mentorship/resources.tsx +++ b/src/pages/mentorship/resources.tsx @@ -7,6 +7,7 @@ import { Title, ResourcesCard, Footer, BreadCrumbsDynamic } from '@components'; import { useIsMobile } from '@utils/theme-utils'; import { FooterResponse, MentorshipResourcesResponse } from '@utils/types'; import { fetchData } from 'lib/api'; +import footerData from 'lib/responses/footer.json'; import pageData from 'lib/responses/mentorshipResources.json'; type CombinedResponse = { @@ -14,18 +15,9 @@ type CombinedResponse = { footer: FooterResponse; }; -type MentorshipResourcesPageProps = { - data?: MentorshipResourcesResponse; - footer: FooterResponse; -}; - -const MentorshipResourcesPage: React.FC = ({ - data, - footer, -}) => { +const MentorshipResourcesPage: React.FC = () => { const isMobile = useIsMobile(); - const page = (data ?? pageData) as MentorshipResourcesResponse; - const { heroSection, section, resourcesSection } = page; + const { heroTitle, heroDescription, resources } = pageData; return ( <> @@ -35,7 +27,7 @@ const MentorshipResourcesPage: React.FC = ({ sx={{ display: 'flex', flexDirection: 'column', minHeight: '100vh' }} > - + <Title title={heroTitle} /> <Box sx={{ @@ -52,7 +44,7 @@ const MentorshipResourcesPage: React.FC<MentorshipResourcesPageProps> = ({ lineHeight: 1.5, }} > - {section.description} + {heroDescription} </Typography> </Box> @@ -65,14 +57,14 @@ const MentorshipResourcesPage: React.FC<MentorshipResourcesPageProps> = ({ }} > <Grid container spacing={4}> - {resourcesSection.items.map((res, index) => ( + {resources.map((res, index) => ( <Grid item xs={12} sm={6} md={6} lg={4} key={index}> <ResourcesCard - image={res.image.path} + image={res.image} title={res.title} - description={res.description ?? ''} - buttonText={res.link.label} - link={res.link.uri} + description={res.description} + buttonText={res.buttonText} + link={res.link} buttonIcon={<OpenInNewIcon />} /> </Grid> @@ -80,7 +72,7 @@ const MentorshipResourcesPage: React.FC<MentorshipResourcesPageProps> = ({ </Grid> </Box> </Box> - <Footer {...footer} /> + <Footer {...footerData} /> </Box> </> ); diff --git a/src/utils/types.ts b/src/utils/types.ts index d3c3752..3db42df 100644 --- a/src/utils/types.ts +++ b/src/utils/types.ts @@ -409,7 +409,6 @@ export type LongTermTimeLineResponse = { export type ResourceItem = { title: string; - description?: string; link: Link; image: Image; };