import React from "react"
import { render, screen } from "../utilities/test-utils"
import Textarea from "./_textarea"
const testId = "textarea-kit"
describe("TextArea Kit Props", () => {
test("Expects to have correct classname", () => {
render(
)
const kit = screen.getByTestId(testId)
expect(kit).toHaveClass("pb_textarea_kit")
})
test("should render aria-label", () => {
render(
)
const kit = screen.getByTestId(testId)
expect(kit).toHaveAttribute("aria-label", testId)
})
test("should render custom classname", () => {
render(
)
const kit = screen.getByTestId(testId)
expect(kit).toHaveClass("text_class")
})
test("should render value", () => {
render(
)
const kit = screen.getByTestId(testId)
const textarea = kit.querySelector("textarea")
expect(textarea.innerHTML).toBe("Default Value")
})
test("should render disabled", () => {
render(
)
const kit = screen.getByTestId(testId)
const textarea = kit.querySelector("textarea")
expect(textarea.disabled).toBe(false)
})
test("should render rows", () => {
render(
)
const kit = screen.getByTestId(testId)
const textarea = kit.querySelector("textarea")
expect(textarea.rows).toBe(7)
})
test("should render character count", () => {
render(
)
const kit = screen.getByTestId(testId)
const counter = kit.querySelector(".pb_caption_kit_xs")
expect(counter.innerHTML).toBe("50")
})
test("should have inline class", () => {
render(
)
const kit = screen.getByTestId(testId)
expect(kit).toHaveClass("inline")
})
test("should have resize class", () => {
render(
)
const kit = screen.getByTestId(testId)
expect(kit).toHaveClass("resize_none")
})
test("should render error", () => {
render(
)
const kit = screen.getByTestId(testId)
const error = kit.querySelector(".pb_body_kit_negative")
expect(kit).toHaveClass("error")
expect(error.innerHTML).toBe("error message")
})
test("should render label", () => {
render(
)
const kit = screen.getByTestId(testId)
const error = kit.querySelector(".pb_caption_kit_md")
expect(error.innerHTML).toBe("Test Label")
})
test("should render max character display", () => {
render(
)
const kit = screen.getByTestId(testId)
const error = kit.querySelector(".pb_caption_kit_xs")
expect(error.innerHTML).toBe("11 / 10")
})
test("should render max character display", () => {
render(
)
const kit = screen.getByTestId(testId)
const textarea = kit.querySelector("textarea")
expect(textarea.name).toBe("TestName")
})
test("should render placeholder", () => {
render(
)
const kit = screen.getByTestId(testId)
const textarea = kit.querySelector("textarea")
expect(textarea.placeholder).toBe("Test Placeholder")
})
test("should be required", () => {
render(
)
const kit = screen.getByTestId(testId)
const textarea = kit.querySelector("textarea")
expect(textarea.required).toBeTruthy()
})
})