-
Notifications
You must be signed in to change notification settings - Fork 86
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #6941 from Sage/FE-6787
refactor(character-count, field-help): convert enzyme tests to RTL
- Loading branch information
Showing
4 changed files
with
126 additions
and
182 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
127 changes: 0 additions & 127 deletions
127
src/__internal__/character-count/character-count.spec.tsx
This file was deleted.
Oops, something went wrong.
124 changes: 124 additions & 0 deletions
124
src/__internal__/character-count/character-count.test.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,124 @@ | ||
import React from "react"; | ||
import { render, screen } from "@testing-library/react"; | ||
import CharacterCount from "."; | ||
|
||
test("visible character count is visible", () => { | ||
render(<CharacterCount value={10} limit={5} isOverLimit={false} />); | ||
|
||
const visibleCharacterCount = screen.getByTestId("character-count"); | ||
expect(visibleCharacterCount).toBeVisible(); | ||
}); | ||
|
||
test("visible character count renders with the 'aria-hidden' attribute", () => { | ||
render(<CharacterCount value={5} limit={10} isOverLimit={false} />); | ||
|
||
const visibleCharacterCount = screen.getByTestId("character-count"); | ||
expect(visibleCharacterCount).toHaveAttribute("aria-hidden", "true"); | ||
}); | ||
|
||
test("visible character count renders with '{count} character(s) left' text content", () => { | ||
render(<CharacterCount value={5} limit={10} isOverLimit={false} />); | ||
|
||
const visibleCharacterCount = screen.getByTestId("character-count"); | ||
expect(visibleCharacterCount).toHaveTextContent("5 characters left"); | ||
}); | ||
|
||
test("visible character count renders with '{count} character(s) too many' text content when `isOverLimit` prop is true", () => { | ||
render(<CharacterCount value={10} limit={5} isOverLimit />); | ||
|
||
const visuallyHiddenHint = screen.getByTestId("character-count"); | ||
expect(visuallyHiddenHint).toHaveTextContent("5 characters too many"); | ||
}); | ||
|
||
test("visually hidden character counter is visually hidden", () => { | ||
render(<CharacterCount value={5} limit={10} isOverLimit={false} />); | ||
|
||
const visuallyHiddenCharacterCount = screen.getByTestId( | ||
"visually-hidden-character-count" | ||
); | ||
expect(visuallyHiddenCharacterCount).toHaveStyle({ | ||
border: "0", | ||
height: "1px", | ||
margin: "-1px", | ||
overflow: "hidden", | ||
padding: "0", | ||
position: "absolute", | ||
width: "1px", | ||
"white-space": "nowrap", | ||
}); | ||
}); | ||
|
||
test("visually hidden character count renders with the 'aria-live' attribute set to 'off'", () => { | ||
render(<CharacterCount value={5} limit={10} isOverLimit={false} />); | ||
|
||
const visuallyHiddenCharacterCount = screen.getByTestId( | ||
"visually-hidden-character-count" | ||
); | ||
expect(visuallyHiddenCharacterCount).toHaveAttribute("aria-live", "off"); | ||
}); | ||
|
||
test("visually hidden character count renders with the 'aria-live' attribute set to 'polite' when the `ariaLive` prop is 'polite'", () => { | ||
render( | ||
<CharacterCount | ||
value={5} | ||
limit={10} | ||
isOverLimit={false} | ||
ariaLive="polite" | ||
/> | ||
); | ||
|
||
const visuallyHiddenCharacterCount = screen.getByTestId( | ||
"visually-hidden-character-count" | ||
); | ||
expect(visuallyHiddenCharacterCount).toHaveAttribute("aria-live", "polite"); | ||
}); | ||
|
||
test("visually hidden character count renders with '{count} character(s) left' text content", () => { | ||
render(<CharacterCount value={5} limit={10} isOverLimit={false} />); | ||
|
||
const visuallyHiddenCharacterCount = screen.getByTestId( | ||
"visually-hidden-character-count" | ||
); | ||
expect(visuallyHiddenCharacterCount).toHaveTextContent("5 characters left"); | ||
}); | ||
|
||
test("visually hidden character count renders with '{count} character(s) too many' text content when `isDebouncedOverLimit` prop is true", () => { | ||
render( | ||
<CharacterCount | ||
value={10} | ||
limit={5} | ||
isOverLimit={false} | ||
isDebouncedOverLimit | ||
/> | ||
); | ||
|
||
const visuallyHiddenHint = screen.getByTestId( | ||
"visually-hidden-character-count" | ||
); | ||
expect(visuallyHiddenHint).toHaveTextContent("5 characters too many"); | ||
}); | ||
|
||
test("visually hidden hint is visually hidden", () => { | ||
render(<CharacterCount value={5} limit={10} isOverLimit={false} />); | ||
|
||
const visuallyHiddenHint = screen.getByTestId("visually-hidden-hint"); | ||
expect(visuallyHiddenHint).toHaveStyle({ | ||
border: "0", | ||
height: "1px", | ||
margin: "-1px", | ||
overflow: "hidden", | ||
padding: "0", | ||
position: "absolute", | ||
width: "1px", | ||
"white-space": "nowrap", | ||
}); | ||
}); | ||
|
||
test("visually hidden hint renders with 'you can enter up to {count} character(s)' text content", () => { | ||
render(<CharacterCount value={5} limit={10} isOverLimit={false} />); | ||
|
||
const visuallyHiddenHint = screen.getByTestId("visually-hidden-hint"); | ||
expect(visuallyHiddenHint).toHaveTextContent( | ||
"You can enter up to 10 characters" | ||
); | ||
}); |
This file was deleted.
Oops, something went wrong.