| 12345678910111213141516171819202122232425262728293031323334353637 |
- import { useRecaptcha } from '@/shared/hooks/use-recaptcha'
- import * as ReactGoogleRecaptcha from 'react-google-recaptcha'
- const ReCaptcha = () => {
- const { ref: recaptchaRef, getReCaptchaToken } = useRecaptcha()
- const handleClick = async () => {
- await getReCaptchaToken()
- }
- return (
- <>
- <ReactGoogleRecaptcha.ReCAPTCHA
- ref={recaptchaRef}
- size="invisible"
- sitekey="123456"
- badge="inline"
- />
- <button onClick={handleClick}>Click</button>
- </>
- )
- }
- describe('useRecaptcha', function () {
- it('should reset the captcha', function () {
- cy.spy(ReactGoogleRecaptcha.ReCAPTCHA.prototype, 'reset').as('resetSpy')
- cy.spy(ReactGoogleRecaptcha.ReCAPTCHA.prototype, 'executeAsync').as(
- 'executeAsyncSpy'
- )
- cy.mount(<ReCaptcha />)
- cy.findByRole('button', { name: /click/i }).click()
- cy.get('@resetSpy').should('have.been.calledOnce')
- cy.get('@executeAsyncSpy').should('have.been.calledOnce')
- })
- })
|