diff --git a/.github/workflows/run-ava-tests.js.yml b/.github/workflows/run-ava-tests.js.yml new file mode 100644 index 0000000..722fcf2 --- /dev/null +++ b/.github/workflows/run-ava-tests.js.yml @@ -0,0 +1,30 @@ +# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions + +name: Run Ava Tests + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [15.x, 16.x] + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v2 + with: + node-version: ${{ matrix.node-version }} + - run: npm ci + - run: npm run generate + - run: npm test diff --git a/test/main.js b/test/main.js index 44dded4..d342235 100644 --- a/test/main.js +++ b/test/main.js @@ -65,6 +65,18 @@ test.before(async t => { t.context.sitemapUrls = sitemap.urlset.url.map( tag => new URL( tag.loc ) ) }) +test('Sitemap contains no double slashes in paths', (t) => { + // console.log('t.context.sitemapUrls', t.context.sitemapUrls) + + const urlsWithDoubleSlashes = t.context.sitemapUrls.filter( url => url.pathname.includes('//') ) + + if ( urlsWithDoubleSlashes.length > 0) { + t.fail( `${ urlsWithDoubleSlashes.length } urls with doubles slashes found including ${ urlsWithDoubleSlashes[0] }` ) + } + + t.pass() +}) + test('All Category pages have valid FAQPage structured data', async (t) => { const categoryUrls = t.context.sitemapUrls.filter( url => url.pathname.startsWith('/kind/') )