Comments (8)
@aphofstede Can you help me to test it?
Just download and copy dist/vue-recaptcha.js to your project.
from vue-recaptcha.
Thanks.
This will include in next release.
I'll close this issue.
from vue-recaptcha.
It is because vue-recaptcha
will keep a reference to window.grecaptcha
.
How about reset the mock by calling execute.resetHistory
?
from vue-recaptcha.
Aren't all Vue instances (and their references) cleared automatically after each test?
I tried using the reset methods from sinon, but the problem is that the stub gets bypassed by the existing reference that vue-recaptcha still seems to hold.. Looking at vue-recaptcha.js
, I can't quite figure out which var to nuke to make it reconfigure itself with the new window
object.
from vue-recaptcha.
Briefly, it's keep the reference in a global variable but not in the component instance.
So I think that using the reset methods should be the solution.
Are you loading the real recaptcha in test environment?
vue-recaptcha will load the first grecaptcha
object which it found.
Maybe remove the real recaptcha, configure the mock, and call window.vueRecaptchaApiLoaded
to tell vue-recaptcha to load the grecaptcha
then it will work.
Another way is using the test keys.
https://developers.google.com/recaptcha/docs/faq#id-like-to-run-automated-tests-with-recaptcha-v2-what-should-i-do
But in my experience, it will only pass the captcha at the first time with the same recaptcha instance.
Not like the document said that it will always pass.
Also you can't configure it that make it will pass or not.
from vue-recaptcha.
Thanks for your response @DanSnow !
I don't pass any key in the frontend component test since I stub all the functions it doesn't communicate with Google at all.
I guess I don't strictly need to verify that the stub was called; since onVerify()
on my own component does get called successfully each run, but it might indicate something is not "clean" with this (sub)component.
Note: I'm cleaning up in afterEach()
and reconstructing everything from scratch in beforeEach()
.
Using window.vueRecaptchaApiLoaded()
didn't help. I also tried constructing the component before grecaptcha
is added to the window
object, but it didn't make a difference.
from vue-recaptcha.
OK. I'll remove the reference of window.grecaptcha
and always use window.grecaptcha
directly.
from vue-recaptcha.
Works!
from vue-recaptcha.
Related Issues (20)
- How to reset Checkbox?
- Nuxt3: Invisible recaptcha visible (dev & prod) HOT 3
- Object.hasOwn is not a function HOT 3
- how to implement in nuxt3 ? HOT 1
- Set recaptcha key dynamically
- Nuxt 3 disable recapthca when needed HOT 1
- Auto execute blocks default browser validation
- Wont working
- Error: Can't resolve '@unhead/vue' in '.../node_modules/vue-recaptcha/dist/script-manager' HOT 4
- When use useRecaptchaProvider it throw warning HOT 1
- Sitekey is unknown at the time of application start
- Package import specifier "#imports" is not defined in package HOT 5
- Nuxt 3 "Error: Invariant violation: Please load enterprise recaptcha script first"
- Hiding captcha when navigating with useRouter HOT 5
- get captcha token in TS file HOT 1
- Failed to resolve component: Checkbox HOT 2
- Unable to use vue-recaptcha(version-2.0.3) in my vue 2.7 project HOT 1
- Multiple library loads HOT 2
- Docs are down HOT 3
- [version 3.0.0-alpha6]: Error: useRecaptcha() is called without provider. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vue-recaptcha.