From 4a2952d8774df2eadbbad71846164028aa38a2e8 Mon Sep 17 00:00:00 2001 From: Fernando Tona <105774270+fernandotonacoder@users.noreply.github.com> Date: Fri, 2 Jan 2026 02:59:23 +0000 Subject: [PATCH] fix: rename SEO component to Seo for PascalCase compliance --- src/components/common/{SEO.jsx => Seo.jsx} | 8 +++--- .../common/{SEO.test.jsx => Seo.test.jsx} | 26 +++++++++---------- src/pages/ContactPage.jsx | 4 +-- src/pages/FAQPage.jsx | 4 +-- src/pages/HomePage.jsx | 4 +-- src/pages/NotFoundPage.jsx | 4 +-- src/pages/PortfolioPage.jsx | 4 +-- src/pages/ServicesPage.jsx | 4 +-- 8 files changed, 29 insertions(+), 29 deletions(-) rename src/components/common/{SEO.jsx => Seo.jsx} (96%) rename src/components/common/{SEO.test.jsx => Seo.test.jsx} (87%) diff --git a/src/components/common/SEO.jsx b/src/components/common/Seo.jsx similarity index 96% rename from src/components/common/SEO.jsx rename to src/components/common/Seo.jsx index af73b86..18169df 100644 --- a/src/components/common/SEO.jsx +++ b/src/components/common/Seo.jsx @@ -1,6 +1,6 @@ import PropTypes from "prop-types"; -const SEO = ({ +const Seo = ({ title, description, keywords, @@ -51,7 +51,7 @@ const SEO = ({ ); }; -SEO.propTypes = { +Seo.propTypes = { title: PropTypes.string, description: PropTypes.string, keywords: PropTypes.string, @@ -60,5 +60,5 @@ SEO.propTypes = { ogType: PropTypes.string, }; -export { SEO }; -export default SEO; +export { Seo }; +export default Seo; diff --git a/src/components/common/SEO.test.jsx b/src/components/common/Seo.test.jsx similarity index 87% rename from src/components/common/SEO.test.jsx rename to src/components/common/Seo.test.jsx index 4a9ea4a..8689b73 100644 --- a/src/components/common/SEO.test.jsx +++ b/src/components/common/Seo.test.jsx @@ -1,40 +1,40 @@ import { render } from "@testing-library/react"; import { describe, it, expect } from "vitest"; -import { SEO } from "./SEO"; +import { Seo } from "./Seo"; -describe("SEO", () => { +describe("Seo", () => { it("renders title with site name", () => { - render(); + render(); expect(document.title).toBe("Contactos | Chrisert"); }); it("renders default title when no title prop provided", () => { - render(); + render(); expect(document.title).toBe( "Chrisert - Especialistas em ETICS e Isolamento Térmico" ); }); it("renders meta description", () => { - render(); + render(); const metaDescription = document.querySelector('meta[name="description"]'); expect(metaDescription).toHaveAttribute("content", "Descrição personalizada"); }); it("renders default description when not provided", () => { - render(); + render(); const metaDescription = document.querySelector('meta[name="description"]'); expect(metaDescription?.getAttribute("content")).toContain("ETICS"); }); it("renders meta keywords", () => { - render(); + render(); const metaKeywords = document.querySelector('meta[name="keywords"]'); expect(metaKeywords).toHaveAttribute("content", "isolamento, capoto"); }); it("renders canonical URL with base URL", () => { - render(); + render(); const canonicalLink = document.querySelector('link[rel="canonical"]'); expect(canonicalLink).toHaveAttribute( "href", @@ -43,14 +43,14 @@ describe("SEO", () => { }); it("renders default canonical URL when not provided", () => { - render(); + render(); const canonicalLink = document.querySelector('link[rel="canonical"]'); expect(canonicalLink).toHaveAttribute("href", "https://chrisert.pt"); }); it("renders Open Graph meta tags", () => { render( - { }); it("renders custom ogType", () => { - render(); + render(); const ogType = document.querySelector('meta[property="og:type"]'); expect(ogType).toHaveAttribute("content", "article"); }); it("renders custom ogImage", () => { - render(); + render(); const ogImage = document.querySelector('meta[property="og:image"]'); expect(ogImage).toHaveAttribute("content", "https://example.com/image.jpg"); }); it("renders Twitter meta tags", () => { - render(); + render(); const twitterCard = document.querySelector('meta[name="twitter:card"]'); const twitterTitle = document.querySelector('meta[name="twitter:title"]'); diff --git a/src/pages/ContactPage.jsx b/src/pages/ContactPage.jsx index d4faa9d..9431b8a 100644 --- a/src/pages/ContactPage.jsx +++ b/src/pages/ContactPage.jsx @@ -6,7 +6,7 @@ import { Button } from "@/components/ui/Button"; import { Input } from "@/components/ui/Input"; import { Textarea } from "@/components/ui/Textarea"; import ContactErrorDialog from "@/components/contact/ContactErrorDialog"; -import { SEO } from "@/components/common/SEO"; +import { Seo } from "@/components/common/Seo"; import { Form, FormControl, @@ -78,7 +78,7 @@ const ContactPage = () => { return (
- { return (
- { return (
- +
{ @@ -23,7 +23,7 @@ const NotFoundPage = () => { return (
- diff --git a/src/pages/PortfolioPage.jsx b/src/pages/PortfolioPage.jsx index aa9a1f6..2803724 100644 --- a/src/pages/PortfolioPage.jsx +++ b/src/pages/PortfolioPage.jsx @@ -9,7 +9,7 @@ import { import { CTASection } from "@/components/common/CTASection"; import Lightbox from "@/components/ui/Lightbox"; import SocialLinks from "@/components/common/SocialLinks"; -import { SEO } from "@/components/common/SEO"; +import { Seo } from "@/components/common/Seo"; import { portfolioImages } from "@/data/portfolioImages"; const PortfolioPage = () => { @@ -46,7 +46,7 @@ const PortfolioPage = () => { return (
- { return (
-