diff --git a/__tests__/app/omPages.test.tsx b/__tests__/app/omPages.test.tsx index e84983ed20..cc2efd808a 100644 --- a/__tests__/app/omPages.test.tsx +++ b/__tests__/app/omPages.test.tsx @@ -1,38 +1,39 @@ -import { render, screen } from '@testing-library/react'; -import React from 'react'; -import OmGroups from '@/app/om/om-groups/page'; +import { render, screen } from "@testing-library/react"; +import React from "react"; +import OmGroups from "@/app/om/om-groups/page"; - -describe('OM pages render', () => { - it('renders OM Groups page', () => { +describe("OM pages render", () => { + it("renders OM Groups page", () => { render(); expect(screen.getAllByText(/OM GROUPS/i).length).toBeGreaterThan(0); }); - it('renders OM Groups with content about building OM together', () => { - render(); - expect(screen.getByText(/We are going to build OM together/i)).toBeInTheDocument(); - }); - - it('renders OM Groups with Discord link', () => { + it("renders OM Groups with content about building OM together", () => { render(); - expect(screen.getByRole('link', { name: /OM Discord channel/i })).toBeInTheDocument(); - expect(screen.getByRole('link', { name: /OM Discord channel/i })).toHaveAttribute('href', 'https://discord.gg/join-om'); + expect( + screen.getByText(/We are going to build OM together/i) + ).toBeInTheDocument(); }); - it('renders OM Groups with representative groups list', () => { + it("renders OM Groups with representative groups list", () => { render(); expect(screen.getByText(/Representative groups:/i)).toBeInTheDocument(); - expect(screen.getByText(/Experiences: Art, Fashion, Education, Entertainment, Personal, Work/i)).toBeInTheDocument(); - expect(screen.getByText(/Communities: Art, PFP, Off-chain/i)).toBeInTheDocument(); + expect( + screen.getByText( + /Experiences: Art, Fashion, Education, Entertainment, Personal, Work/i + ) + ).toBeInTheDocument(); + expect( + screen.getByText(/Communities: Art, PFP, Off-chain/i) + ).toBeInTheDocument(); expect(screen.getByText(/Governance & Social/i)).toBeInTheDocument(); expect(screen.getByText(/Decentralized Tech Stack/i)).toBeInTheDocument(); expect(screen.getByText(/Inclusion/i)).toBeInTheDocument(); expect(screen.getByText(/Public Policy/i)).toBeInTheDocument(); }); - it('renders with proper title and meta information', () => { + it("renders with proper title and meta information", () => { render(); - expect(document.title).toBe('OM GROUPS - 6529.io'); + expect(document.title).toBe("OM GROUPS - 6529.io"); }); -}); \ No newline at end of file +}); diff --git a/__tests__/components/home/hero/HeroHeader.test.tsx b/__tests__/components/home/hero/HeroHeader.test.tsx new file mode 100644 index 0000000000..9a5809f1a4 --- /dev/null +++ b/__tests__/components/home/hero/HeroHeader.test.tsx @@ -0,0 +1,33 @@ +import HeroHeader from "@/components/home/hero/HeroHeader"; +import { render, screen } from "@testing-library/react"; + +jest.mock("next/link", () => ({ + __esModule: true, + default: ({ href, children, ...props }: any) => ( + + {children} + + ), +})); + +describe("HeroHeader", () => { + it("renders the hero heading copy", () => { + render(); + + expect( + screen.getByRole("heading", { + name: "Building a decentralized network state", + }) + ).toBeInTheDocument(); + }); + + it("renders a quick link to network health", () => { + render(); + + const healthLink = screen.getByRole("link", { + name: "Open network health dashboard", + }); + + expect(healthLink).toHaveAttribute("href", "/network/health"); + }); +}); diff --git a/app/network/definitions/page.client.tsx b/app/network/definitions/page.client.tsx index eaf35a7fe6..64bb11fee0 100644 --- a/app/network/definitions/page.client.tsx +++ b/app/network/definitions/page.client.tsx @@ -7,7 +7,7 @@ import { Col, Container, Row } from "react-bootstrap"; const NAV_LINKS = [ { href: "/network/tdh", label: "TDH" }, { href: "/network/tdh/historic-boosts", label: "TDH Historic Boosts" }, - { href: "/network/metrics/network-tdh", label: "Network Stats" }, + { href: "/network/health/network-tdh", label: "Network Stats" }, { href: "/network/levels", label: "Levels" }, ] as const; diff --git a/app/network/metrics/components/CumulativeMetricCard.tsx b/app/network/health/components/CumulativeMetricCard.tsx similarity index 100% rename from app/network/metrics/components/CumulativeMetricCard.tsx rename to app/network/health/components/CumulativeMetricCard.tsx diff --git a/app/network/metrics/components/MetricCard.tsx b/app/network/health/components/MetricCard.tsx similarity index 100% rename from app/network/metrics/components/MetricCard.tsx rename to app/network/health/components/MetricCard.tsx diff --git a/app/network/metrics/components/MetricSparkline.tsx b/app/network/health/components/MetricSparkline.tsx similarity index 100% rename from app/network/metrics/components/MetricSparkline.tsx rename to app/network/health/components/MetricSparkline.tsx diff --git a/app/network/metrics/components/MetricsError.tsx b/app/network/health/components/MetricsError.tsx similarity index 100% rename from app/network/metrics/components/MetricsError.tsx rename to app/network/health/components/MetricsError.tsx diff --git a/app/network/metrics/components/MetricsIcons.tsx b/app/network/health/components/MetricsIcons.tsx similarity index 100% rename from app/network/metrics/components/MetricsIcons.tsx rename to app/network/health/components/MetricsIcons.tsx diff --git a/app/network/metrics/components/MetricsSkeleton.tsx b/app/network/health/components/MetricsSkeleton.tsx similarity index 100% rename from app/network/metrics/components/MetricsSkeleton.tsx rename to app/network/health/components/MetricsSkeleton.tsx diff --git a/app/network/metrics/components/MintMetricsCard.tsx b/app/network/health/components/MintMetricsCard.tsx similarity index 99% rename from app/network/metrics/components/MintMetricsCard.tsx rename to app/network/health/components/MintMetricsCard.tsx index b591cdc23d..490a137272 100644 --- a/app/network/metrics/components/MintMetricsCard.tsx +++ b/app/network/health/components/MintMetricsCard.tsx @@ -1,6 +1,6 @@ -import type { ReactNode } from "react"; import CustomTooltip from "@/components/utils/tooltip/CustomTooltip"; import type { ApiMintMetrics } from "@/generated/models/ApiMintMetrics"; +import type { ReactNode } from "react"; import { formatNumberWithCommas } from "../utils/formatNumbers"; interface MintMetricsCardProps { @@ -169,7 +169,7 @@ export default function MintMetricsCard({ data, icon }: MintMetricsCardProps) {

Last {data.length} Mints

- + diff --git a/app/network/metrics/network-tdh/page.tsx b/app/network/health/network-tdh/page.tsx similarity index 100% rename from app/network/metrics/network-tdh/page.tsx rename to app/network/health/network-tdh/page.tsx diff --git a/app/network/metrics/page.client.tsx b/app/network/health/page.client.tsx similarity index 96% rename from app/network/metrics/page.client.tsx rename to app/network/health/page.client.tsx index 255e313215..0f99b47d27 100644 --- a/app/network/metrics/page.client.tsx +++ b/app/network/health/page.client.tsx @@ -26,7 +26,7 @@ import MetricsSkeleton from "./components/MetricsSkeleton"; import MintMetricsCard from "./components/MintMetricsCard"; export default function MetricsPageClient() { - useSetTitle("Metrics"); + useSetTitle("Health"); const dailyQuery = useCommunityMetrics("DAY"); const weeklyQuery = useCommunityMetrics("WEEK"); @@ -42,7 +42,7 @@ export default function MetricsPageClient() {
-

Metrics

+

Health

Activity overview across different time periods

@@ -65,7 +65,7 @@ export default function MetricsPageClient() { icon={} /> } @@ -76,7 +76,7 @@ export default function MetricsPageClient() { sparklineDates={series?.stepsStartTimes} /> } @@ -98,7 +98,7 @@ export default function MetricsPageClient() { sparklineDates={series?.stepsStartTimes} /> } @@ -121,7 +121,7 @@ export default function MetricsPageClient() { sparklineDates={series?.stepsStartTimes} /> } @@ -140,7 +140,7 @@ export default function MetricsPageClient() { iconBgColor="tw-bg-teal-500" accentColor="tw-text-teal-400" unit="TDH" - href="/network/metrics/network-tdh" + href="/network/health/network-tdh" sparklineData={series?.networkTdh} sparklineColor="tw-bg-teal-500" sparklineDates={series?.stepsStartTimes} @@ -170,7 +170,7 @@ export default function MetricsPageClient() { sparklineDates={series?.stepsStartTimes} /> } diff --git a/app/network/metrics/page.tsx b/app/network/health/page.tsx similarity index 77% rename from app/network/metrics/page.tsx rename to app/network/health/page.tsx index 7e0631b9b7..b6559a3316 100644 --- a/app/network/metrics/page.tsx +++ b/app/network/health/page.tsx @@ -7,5 +7,5 @@ export default function MetricsPage() { } export function generateMetadata(): Metadata { - return getAppMetadata({ title: "Metrics", description: "Metrics dashboard" }); + return getAppMetadata({ title: "Health", description: "Health dashboard" }); } diff --git a/app/network/metrics/utils/formatNumbers.ts b/app/network/health/utils/formatNumbers.ts similarity index 100% rename from app/network/metrics/utils/formatNumbers.ts rename to app/network/health/utils/formatNumbers.ts diff --git a/app/network/tdh/historic-boosts/page.client.tsx b/app/network/tdh/historic-boosts/page.client.tsx index a55a4345c1..3ae535e056 100644 --- a/app/network/tdh/historic-boosts/page.client.tsx +++ b/app/network/tdh/historic-boosts/page.client.tsx @@ -121,7 +121,7 @@ function IntroLine(props: PropsWithChildren) { const NAV_LINKS = [ { href: "/network/tdh", label: "TDH" }, { href: "/network/definitions", label: "Definitions" }, - { href: "/network/metrics/network-tdh", label: "Network Stats" }, + { href: "/network/health/network-tdh", label: "Network Stats" }, { href: "/network/levels", label: "Levels" }, ] as const; diff --git a/app/network/tdh/page.client.tsx b/app/network/tdh/page.client.tsx index 4147913d7f..a71990a480 100644 --- a/app/network/tdh/page.client.tsx +++ b/app/network/tdh/page.client.tsx @@ -225,7 +225,7 @@ export default function TDHMainPage() { metrics across the network.

View Network Stats diff --git a/app/om/discord/page.tsx b/app/om/discord/page.tsx deleted file mode 100644 index 5c953a71b3..0000000000 --- a/app/om/discord/page.tsx +++ /dev/null @@ -1,435 +0,0 @@ -import { getAppMetadata } from "@/components/providers/metadata"; -import type { Metadata } from "next"; - -const IndexPage = () => ( -
- - - - {/* This site is optimized with the Yoast SEO plugin v23.9 - https://yoast.com/wordpress/plugins/seo/ */} - DISCORD - 6529.io - - - - - - - - - - - - {/* / Yoast SEO plugin. */} - - - - - - - - - - - - - - - - - -