Skip to content

Commit a29080d

Browse files
test(dashboard): expand generateMetadata Open Graph assertions (JhaSourav07#784)
## Description Fixes JhaSourav07#706 Expanded the `generateMetadata` test coverage in `app/(root)/dashboard/[username]/page.test.tsx` by adding assertions for additional Open Graph and Twitter metadata fields. ## Pillar * [ ] 🎨 Pillar 1 — New Theme Design * [ ] 📐 Pillar 2 — Geometric SVG Improvement * [ ] 🕐 Pillar 3 — Timezone Logic Optimization * [x] 🛠️ Other (Bug fix, refactoring, docs) ## Visual Preview Not applicable — this PR only expands metadata test coverage. ## Checklist before requesting a review: * [x] I have read the `CONTRIBUTING.md` file. * [x] I have tested these changes locally. * [x] I have run `npm run test` locally and resolved all errors. * [x] My commits follow the Conventional Commits format. * [ ] I have updated `README.md` if I added a new theme or URL parameter. * [x] I have started the repo. * [x] I have made sure that i have only one commit to merge in this PR. * [x] All existing page tests pass successfully. * [x] (Recommended) I joined the CommitPulse Discord community for contributor discussions, mentorship, and faster PR support. ## Changes Made Added assertions for: * `openGraph.images[0].width === 1200` * `openGraph.images[0].height === 630` * `openGraph.images[0].alt` contains the username * `twitter.card === 'summary_large_image'`
1 parent da13ea6 commit a29080d

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

app/(root)/dashboard/[username]/page.test.tsx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ vi.mock('@/components/dashboard/Achievements', () => ({
6161
default: () => <div data-testid="achievements">Achievements</div>,
6262
}));
6363

64-
// ADD THIS
6564
vi.mock('@/components/dashboard/RefreshButton', () => ({
6665
default: () => <div data-testid="refresh-button">RefreshButton</div>,
6766
}));
@@ -102,13 +101,20 @@ describe('DashboardPage', () => {
102101

103102
describe('generateMetadata', () => {
104103
it('generates correct metadata for a given user', async () => {
104+
const username = 'octocat';
105105
const metadata = await generateMetadata({
106-
params: Promise.resolve({ username: 'octocat' }),
106+
params: Promise.resolve({ username }),
107107
});
108108

109+
const openGraphImage = (metadata.openGraph?.images as any[])?.[0];
110+
109111
expect(metadata.title).toBe("octocat's Commit Pulse");
110112
expect(metadata.description).toContain("octocat's GitHub contribution pulse");
111-
expect((metadata.openGraph?.images as any[])?.[0].url).toContain('api/og?username=octocat');
113+
expect(openGraphImage.url).toContain('api/og?username=octocat');
114+
expect(openGraphImage.width).toBe(1200);
115+
expect(openGraphImage.height).toBe(630);
116+
expect(openGraphImage.alt).toContain(username);
117+
expect((metadata.twitter as any)?.card).toBe('summary_large_image');
112118
});
113119
});
114120

0 commit comments

Comments
 (0)