From 8dbb9907429a7fc8acdbe85b718909b0d0c1d94a Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 26 Apr 2021 03:57:53 +0200 Subject: [PATCH] asyncData search-results.spec.js --- webapp/pages/search/search-results.spec.js | 38 ++++++++++++++++++---- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/webapp/pages/search/search-results.spec.js b/webapp/pages/search/search-results.spec.js index 8a7767374..c594f3e56 100644 --- a/webapp/pages/search/search-results.spec.js +++ b/webapp/pages/search/search-results.spec.js @@ -10,28 +10,52 @@ config.stubs['client-only'] = '' describe('search-results.vue', () => { let wrapper let mocks + let asyncData + let query beforeEach(() => { mocks = { $t: (t) => t, } + asyncData = false + query = {} }) describe('mount', () => { - const Wrapper = () => { + const Wrapper = async () => { + if (asyncData) { + const data = searchResults.data ? searchResults.data() : {} + const aData = await searchResults.asyncData({ + query, + }) + searchResults.data = function () { + return { ...data, ...aData } + } + } return mount(searchResults, { mocks, localVue }) } - beforeEach(() => { - wrapper = Wrapper() - }) - - it('renders', () => { + it('renders', async () => { + wrapper = await Wrapper() expect(wrapper.findAll('.search-results')).toHaveLength(1) }) - it('has correct content', () => { + it('has correct content', async () => { + wrapper = await Wrapper() expect(wrapper.vm.$metaInfo.title).toBe('search.title') }) + + it('renders with asyncData and no query', async () => { + asyncData = true + wrapper = await Wrapper() + expect(wrapper.vm.search).toBe(null) + }) + + it('renders with asyncData and query', async () => { + asyncData = true + query = { search: 'hello' } + wrapper = await Wrapper() + expect(wrapper.vm.search).toBe('hello') + }) }) })