mirror of
https://github.com/docsifyjs/docsify.git
synced 2025-12-08 19:55:52 +00:00
75 lines
2.0 KiB
JavaScript
75 lines
2.0 KiB
JavaScript
import _fs from 'fs';
|
|
import path from 'path';
|
|
import { jest } from '@jest/globals';
|
|
import docsifyInit from '../helpers/docsify-init';
|
|
|
|
const fs = _fs.promises;
|
|
|
|
// Suite
|
|
// -----------------------------------------------------------------------------
|
|
describe('Docs Site', function () {
|
|
// Tests
|
|
// ---------------------------------------------------------------------------
|
|
test('coverpage renders and is unchanged', async () => {
|
|
// Override Math.random implementation to prevent random gradient values
|
|
// used as background image from causing test to fail
|
|
const mathSpy = jest.spyOn(Math, 'random').mockReturnValue(0.5);
|
|
|
|
await docsifyInit({
|
|
markdown: {
|
|
homepage: '# Hello World',
|
|
coverpage: await fs.readFile(
|
|
path.resolve(DOCS_PATH, '_coverpage.md'),
|
|
'utf8'
|
|
),
|
|
},
|
|
// _logHTML: true,
|
|
});
|
|
|
|
const coverpageElm = document.querySelector('section.cover');
|
|
|
|
// Test snapshots
|
|
expect(mathSpy).toHaveBeenCalled();
|
|
expect(coverpageElm).not.toBeNull();
|
|
expect(coverpageElm.outerHTML).toMatchSnapshot();
|
|
});
|
|
|
|
test('sidebar renders and is unchanged', async () => {
|
|
await docsifyInit({
|
|
markdown: {
|
|
homepage: '# Hello World',
|
|
sidebar: await fs.readFile(
|
|
path.resolve(DOCS_PATH, '_sidebar.md'),
|
|
'utf8'
|
|
),
|
|
},
|
|
// _logHTML: true,
|
|
});
|
|
|
|
const sidebarElm = document.querySelector('.sidebar');
|
|
|
|
// Test snapshots
|
|
expect(sidebarElm).not.toBeNull();
|
|
expect(sidebarElm.outerHTML).toMatchSnapshot();
|
|
});
|
|
|
|
test('navbar renders and is unchanged', async () => {
|
|
await docsifyInit({
|
|
markdown: {
|
|
homepage: '# Hello World',
|
|
navbar: await fs.readFile(
|
|
path.resolve(DOCS_PATH, '_navbar.md'),
|
|
'utf8'
|
|
),
|
|
},
|
|
// _logHTML: true,
|
|
});
|
|
|
|
const navbarElm = document.querySelector('nav.app-nav');
|
|
|
|
// Test snapshots
|
|
expect(navbarElm).not.toBeNull();
|
|
expect(navbarElm.outerHTML).toMatchSnapshot();
|
|
});
|
|
});
|