Comments (5)
My two cents here. You should probably just create a simple mock of the library and pass it to the mocks
property of vue-test-utils.
A simple rule to follow is, what is not yours, dont test/mock it. This would mean we have to create a wrapper around the lib but lets be real here... we just assume it all works (as it should) and we create a simple mock. Otherwise you will have to install the plugin for the test too.
from vue-wait.
In some cases, we cannot mock v-wait
. This library is widely used in our project and stubs/mocks prevent proper testability. For instance:
Component:
<v-wait for="loading">
<Spinner slot="waiting" />
<ul class="suggestions" v-if="suggestions">
<li v-for="...">Bleh</li>
</ul>
</v-wait>
Test:
it('shows suggestions', async () => {
const wrapper = shallowMount(SuggestionsComponent, { localVue });
expect(wrapper.find('.suggestions').exists()).toBe(true);
});
It is not possible to test proper ul
rendering without v-wait
component. You should:
const localVue = createLocalVue();
localVue.use(Vuex);
localVue.use(VueWait);
it('shows suggestions', async () => {
const wrapper = shallowMount(SuggestedAddresses, {
localVue,
wait: new VueWait()
});
expect(wrapper.find('.suggestions').exists()).toBe(true);
});
from vue-wait.
Hi @gabrielrobert, would you help to add a "testing" part into README.md file according to your testing experiences and problems? I need to improve vue-wait to make it more testable. It would be awesome for the people asking for tests (including me) :)
from vue-wait.
I think you didn't paste all the code, I don't see 'isLoading' anywhere.
In another note, you shouldn't be importing Vue in your tests, that's what createLocalVue is for
from vue-wait.
I think @dobromir-hristov's answer is the answer. Closing this issue.
from vue-wait.
Related Issues (20)
- Vue.js 3 support HOT 3
- Vue 3 Complaining createVueWait() is not a function HOT 3
- NPM v7 could not resolve peer dependency for vue 3 HOT 2
- Twice as big when introducing Vue 3
- Vuex not initialized HOT 2
- Usage in nuxtjs3 (plugin attempt) HOT 1
- Using with vite // TypeError: VueWait is not a constructor HOT 3
- Vue3 Composition API?
- Installing latest version still requires Vue 2 HOT 2
- vue-wait integration for pinia
- sponsor HOT 1
- mapWaitingActions
- Compiled version is not compatible with ie10
- Add integration with nuxt asyncData/fetch
- Use vue-wait with vue-router and beforeRouteEnter HOT 1
- get is invoked when the v-wait is not complete.
- Failing on Server Side Rendering in Nuxt HOT 3
- vuex-module-decorators Integration
- Demo link does not work HOT 1
- [Bug Report] `[vuex] unknown action type: wait/start` occurred on Vue TypeScript HOT 4
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-wait.