Skip to content

Commit

Permalink
test: basic nuxt3 test
Browse files Browse the repository at this point in the history
  • Loading branch information
Akryum committed Aug 16, 2022
1 parent 604f877 commit eb3fa58
Show file tree
Hide file tree
Showing 9 changed files with 111 additions and 2 deletions.
64 changes: 64 additions & 0 deletions .github/workflows/test-nuxt3.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Nuxt 3 tests
on:
- push
jobs:
build-and-test:
runs-on: ubuntu-latest
name: Build and test

env:
dir: ./examples/nuxt3

steps:
- uses: actions/checkout@v2

- name: Install node
uses: actions/setup-node@v2
with:
node-version: 16

- name: Install pnpm
uses: pnpm/[email protected]
with:
version: 7.1.7

- name: Get pnpm store directory
id: pnpm-cache
run: |
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
- name: Cache pnpm modules
uses: actions/cache@v2
with:
path: |
${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
~/.cache/Cypress
key: pnpm-v1-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
pnpm-v1-${{ runner.os }}-
- name: Install dependencies
run: pnpm install

- name: Build
run: pnpm run build

- name: Build book
working-directory: ${{env.dir}}
run: pnpm run story:build

- name: Run tests
working-directory: ${{env.dir}}
run: pnpm run ci

- uses: actions/upload-artifact@v2
if: failure()
with:
name: cypress-screenshots
path: ${{env.dir}}/cypress/screenshots

- uses: actions/upload-artifact@v2
if: always()
with:
name: cypress-videos
path: ${{env.dir}}/cypress/videos
19 changes: 19 additions & 0 deletions examples/nuxt3/cypress.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { defineConfig } from 'cypress'

export default defineConfig({
viewportWidth: 1280,
viewportHeight: 768,
chromeWebSecurity: false,

retries: {
runMode: 2,
openMode: 0,
},

e2e: {
baseUrl: 'http://localhost:4567',
setupNodeEvents (on, config) {
// implement node event listeners here
},
},
})
12 changes: 12 additions & 0 deletions examples/nuxt3/cypress/e2e/render-story.cy.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/// <reference types="cypress" />

describe('Story render', () => {
const getIframeBody = () => cy.get('iframe[data-test-id="preview-iframe"]')
.its('0.contentDocument.body').should('not.be.empty')
.then(cy.wrap)

it('should display the story content', () => {
cy.visit('/story/components-simple-story-vue?variantId=_default')
getIframeBody().contains('Simple story in Nuxt NuxtLink')
})
})
5 changes: 5 additions & 0 deletions examples/nuxt3/cypress/fixtures/example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name": "Using fixtures to represent data",
"email": "[email protected]",
"body": "Fixtures are a great way to mock data for responses to routes"
}
Empty file.
1 change: 1 addition & 0 deletions examples/nuxt3/cypress/support/e2e.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
import './commands'
8 changes: 7 additions & 1 deletion examples/nuxt3/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,18 @@
"scripts": {
"story:dev": "histoire dev",
"story:build": "histoire build",
"story:preview": "histoire preview --port 4567"
"story:preview": "histoire preview --port 4567",
"ci": "start-server-and-test story:preview http://localhost:4567/ test",
"test": "cypress run",
"test:dev": "cypress open --config baseUrl=http://localhost:6006",
"test:examples": "pnpm run story:build && pnpm run ci"
},
"type": "module",
"devDependencies": {
"@histoire/plugin-nuxt": "workspace:*",
"@histoire/plugin-vue": "workspace:*",
"@nuxtjs/tailwindcss": "^5.1.2",
"cypress": "^10.4.0",
"histoire": "workspace:*",
"nuxt": "^3.0.0-rc.8",
"vue": "^3.2.37"
Expand Down
2 changes: 1 addition & 1 deletion examples/nuxt3/tailwind.config.cjs
Original file line number Diff line number Diff line change
@@ -1 +1 @@
module.exports = {}
export default {}
2 changes: 2 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit eb3fa58

Please sign in to comment.