import React from "react";
import { ensureAccessible, renderKit, render, screen } from "../utilities/test-utils"
import Table from "./_table"
const DivsTable = () => {
return (
<>
{"Column 1"}
{"Column 2"}
{"Value 1"}
{"Value 2"}
>
);
};
const TableTagTable = () => {
return (
<>
{"Column 1"}
{"Column 2"}
{"Value 1"}
{"Value 2"}
>
);
};
const props = {
data: { testid: "table" },
sticky: false
}
it("should be accessible", async () => {
ensureAccessible(Table, props)
})
test("when sticky is true", () => {
const kit = renderKit(Table, props, { sticky: true })
expect(kit).toHaveClass("pb_table table-sm table-responsive-collapse table-card sticky-header table-collapse-sm")
})
test("when striped is true", () => {
const kit = renderKit(Table, props, { striped: true })
expect(kit).toHaveClass("pb_table table-sm table-responsive-collapse table-card striped table-collapse-sm")
})
test("Renders Table.Head subkit for Div Table", () => {
render ()
const kit = screen.getByTestId("table")
const head = kit.querySelector(".pb_table_thead")
expect(head).toBeInTheDocument()
expect(head.tagName).toBe("DIV")
})
test("Renders Table.Header subkit for Div Table", () => {
render ()
const kit = screen.getByTestId("table")
const head = kit.querySelector(".pb_table_th")
expect(head).toBeInTheDocument()
expect(head.tagName).toBe("DIV")
})
test("Renders Table.Body subkit for Div Table", () => {
render ()
const kit = screen.getByTestId("table")
const head = kit.querySelector(".pb_table_tbody")
expect(head).toBeInTheDocument()
expect(head.tagName).toBe("DIV")
})
test("Renders Table.Row subkit for Div Table", () => {
render ()
const kit = screen.getByTestId("table")
const head = kit.querySelector(".pb_table_tr")
expect(head).toBeInTheDocument()
expect(head.tagName).toBe("DIV")
})
test("Renders Table.Cell subkit for Div Table", () => {
render ()
const kit = screen.getByTestId("table")
const head = kit.querySelector(".pb_table_td")
expect(head).toBeInTheDocument()
expect(head.tagName).toBe("DIV")
})
test("Renders Table.Head subkit for HTML Table elements Table", () => {
render ()
const kit = screen.getByTestId("table")
const head = kit.querySelector(".pb_table_thead")
expect(head).toBeInTheDocument()
expect(head.tagName).toBe("THEAD")
})
test("Renders Table.Header subkit for HTML Table elements Table", () => {
render ()
const kit = screen.getByTestId("table")
const head = kit.querySelector(".pb_table_th")
expect(head).toBeInTheDocument()
expect(head.tagName).toBe("TH")
})
test("Renders Table.Body subkit for HTML Table elements Table", () => {
render ()
const kit = screen.getByTestId("table")
const head = kit.querySelector(".pb_table_tbody")
expect(head).toBeInTheDocument()
expect(head.tagName).toBe("TBODY")
})
test("Renders Table.Row subkit for HTML Table elements Table", () => {
render ()
const kit = screen.getByTestId("table")
const head = kit.querySelector(".pb_table_tr")
expect(head).toBeInTheDocument()
expect(head.tagName).toBe("TR")
})
test("Renders Table.Cell subkit for HTML Table elements Table", () => {
render ()
const kit = screen.getByTestId("table")
const head = kit.querySelector(".pb_table_td")
expect(head).toBeInTheDocument()
expect(head.tagName).toBe("TD")
})
test("Should have outerPadding class", () => {
const kit = renderKit(Table, props, { outerPadding: "sm" })
expect(kit).toHaveClass("pb_table table-sm table-responsive-collapse table-card outer_padding_space_sm table-collapse-sm")
})