Skip to content

test(hooks): add unit tests for useClipboardCopy - #237

Merged
O2sa merged 1 commit into
O2sa:mainfrom
CodeByPeace:test/issue-236-use-clipboard-copy
Oct 11, 2026
Merged

O2sa merged 1 commit into
O2sa:mainfrom
CodeByPeace:test/issue-236-use-clipboard-copy

Conversation

@CodeByPeace

Copy link
Copy Markdown
Contributor

Fixes #236

Additionally, at the time of submission of this PR:

  • The referred issue is not blocked currently
  • All unittests passed after changes were made

What was missing. The useClipboardCopy hook had no tests.

What I added. One new file, use-clipboard-copy.test.ts, in a new hooks tests folder, as the issue asks. It has five tests. They use Vitest and React Testing Library, with fake timers and a mocked navigator.clipboard.writeText. They check the start state, a successful copy, the reset after the default 2000 ms, the reset after a custom timeoutMs, and a rejected write. A rejected write returns false and copied stays false.

The file sets the jsdom environment for itself with a comment at the top. vitest.config.ts is unchanged, so no other test is affected.

How I tested. All five pass. The full suite passes too, 23 files and 160 tests. I also broke the hook on purpose, twice. With the timer made ten times longer, 2 tests failed. With copied never set to true, 3 tests failed. I restored the hook after each. format:check and tsc pass, and lint shows no errors.

One note. CONTRIBUTING suggests feature test folders, but the issue asks for the hooks folder, so I followed the issue.

Left alone. The hook itself and the test config.

AI use: written with Claude Sonnet 5.5. I ran and checked every command and test myself.

Adds Vitest tests for the useClipboardCopy hook with a mocked navigator.clipboard.writeText and fake timers. They cover the start state, a successful copy, the reset after the default and a custom timeoutMs, and a rejected write.
@vercel

vercel Bot commented Oct 11, 2026

Copy link
Copy Markdown

@CodeByPeace is attempting to deploy a commit to the osama's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions

Copy link
Copy Markdown

Thank you for the pull request! ✅

A maintainer will review this soon. Please be patient while we take a look. 🙌

@O2sa
O2sa merged commit e0d91cb into O2sa:main Oct 11, 2026
2 of 3 checks passed
@O2sa

O2sa commented Oct 11, 2026

Copy link
Copy Markdown
Owner

🎊 Welcome, @CodeByPeace! Your first contribution has been merged! 🚀

Thank you for helping improve the project! If you find this tool useful, please consider giving us a ⭐ star on GitHub—it helps more developers find our work and motivates us to keep improving!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

test: Add unit tests for useClipboardCopy custom hook

2 participants