diff --git a/packages/test-ssr/src/components/ApolloLoading.vue b/packages/test-ssr/src/components/ApolloLoading.vue new file mode 100644 index 0000000..e33473c --- /dev/null +++ b/packages/test-ssr/src/components/ApolloLoading.vue @@ -0,0 +1,16 @@ + + + diff --git a/packages/test-ssr/src/components/HelloWorld.vue b/packages/test-ssr/src/components/HelloWorld.vue index 5da0a07..4add8e3 100644 --- a/packages/test-ssr/src/components/HelloWorld.vue +++ b/packages/test-ssr/src/components/HelloWorld.vue @@ -1,60 +1,29 @@ - - - diff --git a/packages/test-ssr/src/router/index.js b/packages/test-ssr/src/router/index.js index 3cac1b8..81208cc 100644 --- a/packages/test-ssr/src/router/index.js +++ b/packages/test-ssr/src/router/index.js @@ -16,6 +16,16 @@ export function createRouter () { name: 'apollo', component: () => import(/* webpackChunkName: "apollo" */ '../components/ApolloExample.vue') }, + { + path: '/apollo-loading', + name: 'apollo-loading', + component: () => import(/* webpackChunkName: "apollo-loading" */ '../components/ApolloLoading.vue') + }, + { + path: '/hello', + name: 'hello', + component: () => import(/* webpackChunkName: "hello" */ '../components/HelloWorld.vue') + }, { path: '/about', name: 'about', diff --git a/packages/test-ssr/src/views/Home.vue b/packages/test-ssr/src/views/Home.vue index fc2e940..5298d65 100644 --- a/packages/test-ssr/src/views/Home.vue +++ b/packages/test-ssr/src/views/Home.vue @@ -1,18 +1,11 @@ diff --git a/packages/test-ssr/tests/e2e/specs/apollo-ssr.js b/packages/test-ssr/tests/e2e/specs/apollo-ssr.js index 9b5e48b..a07ad5a 100644 --- a/packages/test-ssr/tests/e2e/specs/apollo-ssr.js +++ b/packages/test-ssr/tests/e2e/specs/apollo-ssr.js @@ -9,4 +9,17 @@ describe('SSR Apollo', () => { cy.get('.apollo-state').should('contain', '"Message:b":{"id":"b","text":"Message 2","__typename":"Message"}') cy.get('.apollo-state').should('contain', '"Message:c":{"id":"c","text":"Message 3","__typename":"Message"}') }) + + it('should load page using `$apollo.queries..loading', () => { + cy.visit('/apollo-loading') + cy.get('.messages').should('contain', '3 messages') + cy.get('.apollo-state').should('contain', '"messages":[{"type":"id","generated":false,"id":"Message:a","typename":"Message"},{"type":"id","generated":false,"id":"Message:b","typename":"Message"},{"type":"id","generated":false,"id":"Message:c","typename":"Message"}]') + }) + + it('should still be interactive (not destroyed on client)', () => { + cy.visit('/hello') + cy.get('.hello').should('contain', 'Hello World!') + cy.get('.input').type('Anne') + cy.get('.hello').should('contain', 'Hello Anne!') + }) }) diff --git a/packages/test-ssr/tests/e2e/specs/test.js b/packages/test-ssr/tests/e2e/specs/test.js deleted file mode 100644 index 41ad94a..0000000 --- a/packages/test-ssr/tests/e2e/specs/test.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://docs.cypress.io/api/introduction/api.html - -describe('My First Test', () => { - it('Visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'Welcome to Your Vue.js App') - }) -})