49 lines
1.4 KiB
TypeScript
49 lines
1.4 KiB
TypeScript
import { Input, getInputType } from "../../../../components/design/Input"
|
|
|
|
describe("<Input />", () => {
|
|
it("should render the label", () => {
|
|
const labelContent = "label content"
|
|
cy.mount(<Input label={labelContent} />)
|
|
.get("label")
|
|
.should("have.text", labelContent)
|
|
})
|
|
|
|
it("should not render forgot password link", () => {
|
|
cy.mount(<Input type="text" label="content" showForgotPassword />)
|
|
.get("[data-cy=forgot-password-link]")
|
|
.should("not.exist")
|
|
})
|
|
|
|
it("should render forgot password link", () => {
|
|
cy.mount(<Input type="password" label="content" showForgotPassword />)
|
|
.get("[data-cy=forgot-password-link]")
|
|
.should("exist")
|
|
})
|
|
|
|
it('should not render the eye icon if the input is not of type "password"', () => {
|
|
cy.mount(<Input type="text" label="content" />)
|
|
.get("[data-cy=password-eye]")
|
|
.should("not.exist")
|
|
})
|
|
|
|
it("should handlePassword with eye icon", async () => {
|
|
cy.mount(<Input type="password" label="content" />)
|
|
.get("input")
|
|
.should("have.attr", "type", "password")
|
|
.get("[data-cy=password-eye]")
|
|
.click()
|
|
.get("input")
|
|
.should("have.attr", "type", "text")
|
|
})
|
|
|
|
describe("getInputType", () => {
|
|
it("should return `text`", () => {
|
|
expect(getInputType("password")).equal("text")
|
|
})
|
|
|
|
it("should return `password`", () => {
|
|
expect(getInputType("text")).equal("password")
|
|
})
|
|
})
|
|
})
|