diff --git a/src/app/(home)/HeroHeader.tsx b/src/app/(home)/HeroHeader.tsx
new file mode 100644
index 0000000..1b974a9
--- /dev/null
+++ b/src/app/(home)/HeroHeader.tsx
@@ -0,0 +1,55 @@
+import React from 'react'
+import Image from 'next/image'
+import heroImage from '../../../public/hero.webp'
+import {
+ Box,
+ Divider,
+ Grid,
+ GridItem,
+ Heading,
+ Text,
+ VStack,
+} from '@chakra-ui/react'
+import CTAButton from '../components/CTAButton'
+
+export default function HeroHeader() {
+ return (
+ <>
+
+
+
+
+
+ Transforming Lives Through Service
+
+
+ Join us in making a difference and empowering the next
+ generation. Education is a light, let's keep it shining
+ bright.
+
+
+
+
+
+
+
+
+
+
+ >
+ )
+}
diff --git a/src/app/(home)/__tests__/HeroHeader.test.tsx b/src/app/(home)/__tests__/HeroHeader.test.tsx
new file mode 100644
index 0000000..89f8561
--- /dev/null
+++ b/src/app/(home)/__tests__/HeroHeader.test.tsx
@@ -0,0 +1,17 @@
+import { screen, render } from '@testing-library/react'
+import React from 'react'
+import '@testing-library/jest-dom'
+import HeroHeader from '../HeroHeader'
+
+describe('HeroHeader', () => {
+ it('renders the HeroHeader component', () => {
+ render()
+ expect(screen.getByRole('heading')).toHaveTextContent(
+ 'Transforming Lives Through Service'
+ )
+ })
+ it('render the Call To Action Button', () => {
+ render()
+ expect(screen.getByRole('button')).toHaveTextContent('Donate Now')
+ })
+})
diff --git a/src/app/(home)/__tests__/HomePage.test.tsx b/src/app/(home)/__tests__/HomePage.test.tsx
index d25f2b6..e1d8a58 100644
--- a/src/app/(home)/__tests__/HomePage.test.tsx
+++ b/src/app/(home)/__tests__/HomePage.test.tsx
@@ -1,4 +1,4 @@
-import { screen, render } from '@testing-library/react'
+import { screen, render, waitFor } from '@testing-library/react'
import React from 'react'
import Home from '@/app/page'
import '@testing-library/jest-dom'
@@ -9,4 +9,12 @@ describe('Home Page', () => {
expect(screen.getByText('Ray Foundation')).toBeInTheDocument()
})
+ it('should render the hero header', async () => {
+ const { getByText } = render()
+ const lazyElement = await waitFor(() =>
+ getByText('Transforming Lives Through Service')
+ )
+
+ expect(lazyElement).toBeInTheDocument()
+ })
})