diff --git a/apps/web/playwright/insights.e2e.ts b/apps/web/playwright/insights.e2e.ts
index 30366a1dcc..d775545e99 100644
--- a/apps/web/playwright/insights.e2e.ts
+++ b/apps/web/playwright/insights.e2e.ts
@@ -237,4 +237,39 @@ test.describe("Insights", async () => {
// Wait for the download process to complete and save the downloaded file somewhere.
await download.saveAs("./" + "test-insights.csv");
});
+
+ test("should render all ChartCard components with expected titles", async ({ page, users }) => {
+ const owner = await users.create();
+ const member = await users.create();
+
+ await createTeamsAndMembership(owner.id, member.id);
+
+ await owner.apiLogin();
+
+ await page.goto("/insights");
+
+ const expectedChartTitles = [
+ "Events",
+ "Performance",
+ "Event Trends",
+ "Bookings by Hour",
+ "Average Event Duration",
+ "Most Bookings Scheduled",
+ "Least Bookings Scheduled",
+ "Most Bookings Completed",
+ "Least Bookings Completed",
+ "Most Cancelled",
+ "Most No-Show",
+ "Recent No-Show Guests",
+ "Highest Rated",
+ "Lowest Rated",
+ "Recent Ratings",
+ "Popular Events",
+ ];
+
+ for (const title of expectedChartTitles) {
+ const chartCard = page.locator("[data-testid='panel-card'] h2").filter({ hasText: title });
+ await expect(chartCard).toBeVisible();
+ }
+ });
});
diff --git a/packages/features/insights/components/booking/HighestRatedMembersTable.tsx b/packages/features/insights/components/booking/HighestRatedMembersTable.tsx
index 8c0a7d8db2..d1bc201fb4 100644
--- a/packages/features/insights/components/booking/HighestRatedMembersTable.tsx
+++ b/packages/features/insights/components/booking/HighestRatedMembersTable.tsx
@@ -27,11 +27,9 @@ export const HighestRatedMembersTable = () => {
if (!isSuccess || !data) return null;
- return data && data.length > 0 ? (
+ return (