diff --git a/packages/ui-components/src/components/FormRow/FormRow.test.tsx b/packages/ui-components/src/components/FormRow/FormRow.test.tsx
index 7869de4bf4..f11ee8d2d2 100644
--- a/packages/ui-components/src/components/FormRow/FormRow.test.tsx
+++ b/packages/ui-components/src/components/FormRow/FormRow.test.tsx
@@ -7,113 +7,83 @@ import React from "react"
import { render, screen } from "@testing-library/react"
import { describe, expect, test } from "vitest"
-import { FormSection } from "../FormSection/FormSection.component"
+import { FormRow } from "./index"
-describe("FormSection Component Tests", () => {
+describe("FormRow Component Tests", () => {
describe("Basic Rendering", () => {
- test("renders a FormSection", () => {
- render()
- expect(screen.getByTestId("my-formsection")).toBeInTheDocument()
- })
-
- test("renders children as passed", () => {
- render(
-
-
-
- )
- expect(screen.getByRole("button")).toBeInTheDocument()
+ test("renders a FormRow", () => {
+ render()
+ expect(screen.getByTestId("my-form-row")).toBeInTheDocument()
})
test("renders without any props", () => {
- render()
- expect(screen.getByTestId("my-formsection")).toBeInTheDocument()
+ const { container } = render()
+ expect(container.firstChild).toBeInTheDocument()
+ expect(container.firstChild).toHaveClass("juno-form-row")
})
test("renders with null children", () => {
- render({null})
- expect(screen.getByTestId("my-formsection")).toBeInTheDocument()
+ render({null})
+ expect(screen.getByTestId("my-form-row")).toBeInTheDocument()
})
test("renders with undefined children", () => {
- render({undefined})
- expect(screen.getByTestId("my-formsection")).toBeInTheDocument()
- })
-
- test("renders with mixed children types correctly", () => {
- render(
-
- Div Element
- {null}
- Paragraph Element
-
- )
- expect(screen.getByText("Div Element")).toBeInTheDocument()
- expect(screen.queryByText("False Element")).not.toBeInTheDocument()
- expect(screen.getByText("Paragraph Element")).toBeInTheDocument()
+ render({undefined})
+ expect(screen.getByTestId("my-form-row")).toBeInTheDocument()
})
})
- describe("Title Handling", () => {
- test("renders a title", () => {
- render()
- expect(screen.getByTestId("my-form-section")).toBeInTheDocument()
- expect(screen.getByRole("heading")).toHaveClass("juno-formsection-heading")
- expect(screen.getByRole("heading")).toHaveTextContent("My Form Section")
- })
-
- test("does not render a title when title prop is not provided", () => {
- render()
- const titleElement = screen.queryByRole("heading")
- expect(titleElement).not.toBeInTheDocument()
- })
-
- test("renders with an empty string title", () => {
- render()
- expect(screen.getByTestId("my-formsection")).toBeInTheDocument()
- const titleElement = screen.queryByRole("heading")
- expect(titleElement).not.toBeInTheDocument()
+ describe("Props Handling", () => {
+ test("renders a custom className", () => {
+ render()
+ expect(screen.getByTestId("my-form-row")).toBeInTheDocument()
+ expect(screen.getByTestId("my-form-row")).toHaveClass("my-custom-class")
})
- test("renders with a long string title", () => {
- const longTitle = "A".repeat(1000)
- render()
- const titleElement = screen.getByText(longTitle)
- expect(titleElement).toBeInTheDocument()
+ test("renders all props as passed", () => {
+ render()
+ expect(screen.getByTestId("23")).toBeInTheDocument()
+ expect(screen.getByTestId("23")).toHaveAttribute("data-lolol")
})
- test("renders with special characters in title", () => {
- const specialTitle = "!@#$%^&*()_+=-[]{}|;:'\",.<>?/"
- render()
- const titleElement = screen.getByText(specialTitle)
- expect(titleElement).toBeInTheDocument()
+ test("adds and handles additional props", () => {
+ render()
+ const sectionElement = screen.getByTestId("24")
+ expect(sectionElement).toHaveAttribute("aria-label", "form-row")
})
- test("renders h1 element only if title is provided", () => {
- const { rerender } = render()
- expect(screen.queryByRole("heading")).toBeNull()
-
- rerender()
- expect(screen.getByRole("heading")).toBeInTheDocument()
+ test("applies default styles", () => {
+ const { container } = render()
+ expect(container.firstChild).toHaveClass("juno-form-row")
+ expect(container.firstChild).toHaveClass("jn:mb-2")
})
})
- describe("Props Handling", () => {
- test("renders a custom className", () => {
- render()
- expect(screen.getByTestId("my-formsection")).toBeInTheDocument()
- expect(screen.getByTestId("my-formsection")).toHaveClass("my-custom-class")
+ describe("Children Rendering", () => {
+ test("renders children as passed", () => {
+ render(
+
+
+
+ )
+ expect(screen.getByRole("button")).toBeInTheDocument()
})
- test("renders all props as passed", () => {
- render()
- expect(screen.getByTestId("23")).toBeInTheDocument()
- expect(screen.getByTestId("23")).toHaveAttribute("data-lolol")
+ test("renders multiple children", () => {
+ render(
+
+
+
+
+ )
+ expect(screen.getByText("Button 1")).toBeInTheDocument()
+ expect(screen.getByText("Button 2")).toBeInTheDocument()
})
- test("renders section HTML element with classnames", () => {
- const { container } = render()
- expect(container.firstChild).toHaveClass("juno-form-section")
+ test("renders with no children", () => {
+ render()
+ expect(screen.getByTestId("my-form-row")).toBeInTheDocument()
+ expect(screen.getByTestId("my-form-row").childElementCount).toBe(0)
})
})
})
diff --git a/packages/ui-components/src/components/FormSection/FormSection.test.tsx b/packages/ui-components/src/components/FormSection/FormSection.test.tsx
index da04437b3d..04f57ae2d1 100644
--- a/packages/ui-components/src/components/FormSection/FormSection.test.tsx
+++ b/packages/ui-components/src/components/FormSection/FormSection.test.tsx
@@ -7,93 +7,120 @@ import React from "react"
import { render, screen } from "@testing-library/react"
import { describe, expect, test } from "vitest"
-import { FormSection } from "./FormSection.component"
-import { FormRow } from "../FormRow/FormRow.component"
+import { FormSection } from "./index"
describe("FormSection Component Tests", () => {
- test("renders a title as h4", () => {
- render()
- expect(screen.getByRole("heading", { level: 4 })).toBeInTheDocument()
- expect(screen.getByRole("heading", { level: 4 })).toHaveClass("juno-formsection-heading")
- expect(screen.getByRole("heading", { level: 4 })).toHaveTextContent("My Section")
- })
-})
-
-describe("FormRow Component Tests", () => {
describe("Basic Rendering", () => {
- test("renders a FormRow", () => {
- render()
- expect(screen.getByTestId("my-form-row")).toBeInTheDocument()
+ test("renders a FormSection", () => {
+ render()
+ expect(screen.getByTestId("my-formsection")).toBeInTheDocument()
+ })
+
+ test("renders children as passed", () => {
+ render(
+
+
+
+ )
+ expect(screen.getByRole("button")).toBeInTheDocument()
})
test("renders without any props", () => {
- const { container } = render()
- expect(container.firstChild).toBeInTheDocument()
- expect(container.firstChild).toHaveClass("juno-form-row")
+ render()
+ expect(screen.getByTestId("my-formsection")).toBeInTheDocument()
})
test("renders with null children", () => {
- render({null})
- expect(screen.getByTestId("my-form-row")).toBeInTheDocument()
+ render({null})
+ expect(screen.getByTestId("my-formsection")).toBeInTheDocument()
})
test("renders with undefined children", () => {
- render({undefined})
- expect(screen.getByTestId("my-form-row")).toBeInTheDocument()
+ render({undefined})
+ expect(screen.getByTestId("my-formsection")).toBeInTheDocument()
+ })
+
+ test("renders with mixed children types correctly", () => {
+ render(
+
+ Div Element
+ {null}
+ Paragraph Element
+
+ )
+ expect(screen.getByText("Div Element")).toBeInTheDocument()
+ expect(screen.queryByText("False Element")).not.toBeInTheDocument()
+ expect(screen.getByText("Paragraph Element")).toBeInTheDocument()
})
})
- describe("Props Handling", () => {
- test("renders a custom className", () => {
- render()
- expect(screen.getByTestId("my-form-row")).toBeInTheDocument()
- expect(screen.getByTestId("my-form-row")).toHaveClass("my-custom-class")
+ describe("Title Handling", () => {
+ test("renders a title", () => {
+ render()
+ expect(screen.getByTestId("my-form-section")).toBeInTheDocument()
+ expect(screen.getByRole("heading")).toHaveClass("juno-formsection-heading")
+ expect(screen.getByRole("heading")).toHaveTextContent("My Form Section")
})
- test("renders all props as passed", () => {
- render()
- expect(screen.getByTestId("23")).toBeInTheDocument()
- expect(screen.getByTestId("23")).toHaveAttribute("data-lolol")
+ test("renders a title as h4", () => {
+ render()
+ expect(screen.getByRole("heading", { level: 4 })).toBeInTheDocument()
+ expect(screen.getByRole("heading", { level: 4 })).toHaveClass("juno-formsection-heading")
+ expect(screen.getByRole("heading", { level: 4 })).toHaveTextContent("My Section")
})
- test("adds and handles additional props", () => {
- render()
- const sectionElement = screen.getByTestId("24")
- expect(sectionElement).toHaveAttribute("aria-label", "form-row")
+ test("does not render a title when title prop is not provided", () => {
+ render()
+ const titleElement = screen.queryByRole("heading")
+ expect(titleElement).not.toBeInTheDocument()
})
- test("applies default styles", () => {
- const { container } = render()
- expect(container.firstChild).toHaveClass("juno-form-row")
- expect(container.firstChild).toHaveClass("jn:mb-2")
+ test("renders with an empty string title", () => {
+ render()
+ expect(screen.getByTestId("my-formsection")).toBeInTheDocument()
+ const titleElement = screen.queryByRole("heading")
+ expect(titleElement).not.toBeInTheDocument()
+ })
+
+ test("renders with a long string title", () => {
+ const longTitle = "A".repeat(1000)
+ render()
+ const titleElement = screen.getByText(longTitle)
+ expect(titleElement).toBeInTheDocument()
+ })
+
+ test("renders with special characters in title", () => {
+ const specialTitle = "!@#$%^&*()_+=-[]{}|;:'\",.<>?/"
+ render()
+ const titleElement = screen.getByText(specialTitle)
+ expect(titleElement).toBeInTheDocument()
+ })
+
+ test("renders a heading element only if title is provided", () => {
+ const { rerender } = render()
+ expect(screen.queryByRole("heading")).not.toBeInTheDocument()
+
+ rerender()
+ expect(screen.getByRole("heading")).toBeInTheDocument()
})
})
- describe("Children Rendering", () => {
- test("renders children as passed", () => {
- render(
-
-
-
- )
- expect(screen.getByRole("button")).toBeInTheDocument()
+ describe("Props Handling", () => {
+ test("renders a custom className", () => {
+ render()
+ expect(screen.getByTestId("my-formsection")).toBeInTheDocument()
+ expect(screen.getByTestId("my-formsection")).toHaveClass("my-custom-class")
})
- test("renders multiple children", () => {
- render(
-
-
-
-
- )
- expect(screen.getByText("Button 1")).toBeInTheDocument()
- expect(screen.getByText("Button 2")).toBeInTheDocument()
+ test("renders all props as passed", () => {
+ render()
+ expect(screen.getByTestId("23")).toBeInTheDocument()
+ expect(screen.getByTestId("23")).toHaveAttribute("data-lolol")
})
- test("renders with no children", () => {
- render()
- expect(screen.getByTestId("my-form-row")).toBeInTheDocument()
- expect(screen.getByTestId("my-form-row").childElementCount).toBe(0)
+ test("renders section HTML element with classnames", () => {
+ const { container } = render()
+ expect(container.firstChild).toHaveClass("juno-form-section")
})
})
})
diff --git a/packages/ui-components/src/components/FormattedText/FormattedText.test.tsx b/packages/ui-components/src/components/FormattedText/FormattedText.test.tsx
index 0734976cbe..291cb1dfc9 100644
--- a/packages/ui-components/src/components/FormattedText/FormattedText.test.tsx
+++ b/packages/ui-components/src/components/FormattedText/FormattedText.test.tsx
@@ -10,15 +10,15 @@ import { FormattedText } from "./index"
describe("FormattedText", () => {
it("renders a custom className as passed", () => {
- render()
- const element = screen.getByTestId("my-pagination")
+ render()
+ const element = screen.getByTestId("my-formatted-text")
expect(element).not.toBeNull() // Check if element exists
expect(element.className).toContain("my-class") // Check class name contains "my-class"
})
it("renders all props as passed", () => {
- render()
- const element = screen.getByTestId("my-pagination")
+ render()
+ const element = screen.getByTestId("my-formatted-text")
expect(element).not.toBeNull() // Check if element exists
expect(element.getAttribute("data-lolol")).toBe("123-456") // Check attribute value
})
diff --git a/packages/ui-components/src/components/GridColumn/GridColumn.test.tsx b/packages/ui-components/src/components/GridColumn/GridColumn.test.tsx
index 1d3e760fef..1a9dd054e9 100644
--- a/packages/ui-components/src/components/GridColumn/GridColumn.test.tsx
+++ b/packages/ui-components/src/components/GridColumn/GridColumn.test.tsx
@@ -11,7 +11,7 @@ import { GridColumn } from "./GridColumn.component"
describe("GridColumn", () => {
describe("Basic Rendering", () => {
- test("renders a Grid row", () => {
+ test("renders a Grid column", () => {
render()
expect(screen.getByTestId("my-grid-column")).toBeInTheDocument()
})
diff --git a/packages/ui-components/src/components/ModalFooter/ModalFooter.test.tsx b/packages/ui-components/src/components/ModalFooter/ModalFooter.test.tsx
index 2e1c531760..35dfdb66df 100644
--- a/packages/ui-components/src/components/ModalFooter/ModalFooter.test.tsx
+++ b/packages/ui-components/src/components/ModalFooter/ModalFooter.test.tsx
@@ -26,7 +26,7 @@ describe("ModalFooter", () => {
expect(screen.getByRole("button", { name: "Cancel" })).toBeInTheDocument()
})
- test("renders a ModalFooter with a 'Confirm' and a 'Cancel' button when an onComfirm handler is passed", () => {
+ test("renders a ModalFooter with a 'Confirm' and a 'Cancel' button when an onConfirm handler is passed", () => {
const confirmHandler = () => {
console.log("confirmed!")
}
diff --git a/packages/ui-components/src/components/Radio/Radio.test.tsx b/packages/ui-components/src/components/Radio/Radio.test.tsx
index bde9371066..d2d10e9e4d 100644
--- a/packages/ui-components/src/components/Radio/Radio.test.tsx
+++ b/packages/ui-components/src/components/Radio/Radio.test.tsx
@@ -8,32 +8,32 @@ import { render, screen, act } from "@testing-library/react"
import { Radio } from "./index"
describe("Radio", () => {
- test("renders an html input type radio", () => {
+ test('renders an HTML input of type "radio"', () => {
render()
expect(screen.getByRole("radio")).toBeInTheDocument()
expect(screen.getByRole("radio")).toHaveAttribute("type", "radio")
})
- test("renders a radio with a name as passed", () => {
+ test("renders a Radio with a name as passed", () => {
render()
expect(screen.getByRole("radio")).toBeInTheDocument()
expect(screen.getByRole("radio")).toHaveAttribute("name", "My Radio")
})
- test("renders a radio with a label", () => {
+ test("renders a Radio with a label", () => {
render()
expect(screen.getByLabelText("My Radio")).toBeInTheDocument()
expect(document.querySelector(".juno-label")).toBeInTheDocument()
expect(document.querySelector(".juno-label")).toHaveTextContent("My Radio")
})
- test("renders a radio with an id as passed", () => {
+ test("renders a Radio with an id as passed", () => {
render()
expect(screen.getByRole("radio")).toBeInTheDocument()
expect(screen.getByRole("radio")).toHaveAttribute("id", "my-radio")
})
- test("renders a Checkbox with an auto-generated id if no id was passed", () => {
+ test("renders a Radio with an auto-generated id if no id was passed", () => {
render()
expect(screen.getByRole("radio")).toBeInTheDocument()
expect(screen.getByRole("radio")).toHaveAttribute("id")
@@ -75,7 +75,7 @@ describe("Radio", () => {
expect(document.querySelector(".juno-required")).toBeInTheDocument()
})
- test("renders no checked attribute if false", () => {
+ test("renders a Radio with no checked attribute if false", () => {
act(() => {
render()
})
@@ -84,14 +84,14 @@ describe("Radio", () => {
expect(radio).not.toBeChecked()
})
- test("renders a disabled radio as passed", () => {
+ test("renders a disabled Radio as passed", () => {
render()
const radio = screen.getByRole("radio")
expect(radio).toBeInTheDocument()
expect(radio).toBeDisabled()
})
- test("renders an invalid radio as passed", () => {
+ test("renders an invalid Radio as passed", () => {
render()
const radio = screen.getByRole("radio")
expect(radio).toBeInTheDocument()
@@ -105,14 +105,14 @@ describe("Radio", () => {
expect(radio).toHaveClass("juno-radio-valid")
})
- test("renders a helptext as passed", () => {
+ test("renders a Radio with helptext as passed", () => {
render()
expect(document.querySelector(".juno-form-hint")).toBeInTheDocument()
expect(document.querySelector(".juno-form-hint")).toHaveClass("juno-form-hint-help")
expect(document.querySelector(".juno-form-hint")).toHaveTextContent("this is a helptext")
})
- test("renders a successtext as passed and validates the Radio", () => {
+ test("renders a Radio with successtext as passed and validates the Radio", () => {
render()
expect(document.querySelector(".juno-form-hint")).toBeInTheDocument()
expect(document.querySelector(".juno-form-hint")).toHaveClass("juno-form-hint-success")
@@ -120,7 +120,7 @@ describe("Radio", () => {
expect(screen.getByRole("radio")).toHaveClass("juno-radio-valid")
})
- test("renders an errortext as passed and invalidates the Radio", () => {
+ test("renders a Radio with errortext as passed and invalidates the Radio", () => {
render()
expect(document.querySelector(".juno-form-hint")).toBeInTheDocument()
expect(document.querySelector(".juno-form-hint")).toHaveClass("juno-form-hint-error")
diff --git a/packages/ui-components/src/components/Select/Select.test.tsx b/packages/ui-components/src/components/Select/Select.test.tsx
index f2a64feb52..a75ef612c1 100644
--- a/packages/ui-components/src/components/Select/Select.test.tsx
+++ b/packages/ui-components/src/components/Select/Select.test.tsx
@@ -67,7 +67,7 @@ describe("Select", () => {
expect(screen.getByRole("button")).toHaveClass("juno-select-toggle")
})
- test("renders a default variant select toggle by defgault", async () => {
+ test("renders a default variant select toggle by default", async () => {
await waitFor(() =>
render(
diff --git a/packages/ui-components/src/components/SelectDivider/SelectDivider.test.tsx b/packages/ui-components/src/components/SelectDivider/SelectDivider.test.tsx
index 36f8adbe51..6004063f25 100644
--- a/packages/ui-components/src/components/SelectDivider/SelectDivider.test.tsx
+++ b/packages/ui-components/src/components/SelectDivider/SelectDivider.test.tsx
@@ -19,7 +19,7 @@ describe("SelectDivider", () => {
expect(screen.getByTestId("select-divider")).toHaveClass("my-class")
})
- test("renders all pops as passed", () => {
+ test("renders all props as passed", () => {
render()
expect(screen.getByTestId("select-divider")).toBeInTheDocument()
expect(screen.getByTestId("select-divider")).toHaveAttribute("data-lolol", "123")
diff --git a/packages/ui-components/src/components/TopNavigationItem/TopNavigationItem.test.tsx b/packages/ui-components/src/components/TopNavigationItem/TopNavigationItem.test.tsx
index b30d9f05cb..cdb7593772 100644
--- a/packages/ui-components/src/components/TopNavigationItem/TopNavigationItem.test.tsx
+++ b/packages/ui-components/src/components/TopNavigationItem/TopNavigationItem.test.tsx
@@ -17,7 +17,7 @@ describe("TopNavigationItem", () => {
vi.clearAllMocks()
})
- test("renders a ToppNavigationItem", async () => {
+ test("renders a TopNavigationItem", async () => {
await waitFor(() => render())
expect(screen.getByTestId("top-nav-item")).toBeInTheDocument()
expect(screen.getByTestId("top-nav-item")).toHaveClass("juno-topnavigation-item")
@@ -74,7 +74,7 @@ describe("TopNavigationItem", () => {
expect(screen.getByRole("button")).toHaveClass("juno-topnavigation-item")
})
- test("renders an active ToppNavigationItem as passed", async () => {
+ test("renders an active TopNavigationItem as passed", async () => {
await waitFor(() => render())
expect(screen.getByTestId("top-nav-item")).toBeInTheDocument()
expect(screen.getByTestId("top-nav-item")).toHaveClass("juno-topnavigation-item")