This is the code that runs https://bandolier.learnjsthehardway.com/ for you to review. It uses the https://git.learnjsthehardway.com/learn-javascript-the-hard-way/bandolier-template to create the documentation for the project.
https://bandolier.learnjsthehardway.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.0 KiB
85 lines
2.0 KiB
import test from 'ava';
|
|
import { base_host } from "../../lib/config.js";
|
|
import {login, tid, expect, playstart, playstop} from '../../lib/testing.js';
|
|
|
|
export const panels = {
|
|
Accordion: () => {},
|
|
AspectRatio: () => {},
|
|
Badge: () => {},
|
|
ButtonGroup: () => {},
|
|
Calendar: () => {},
|
|
Callout: () => {},
|
|
Cards: () => {},
|
|
Carousel: () => {},
|
|
Chat: () => {},
|
|
Code: () => {},
|
|
Countdown: () => {},
|
|
Darkmode: () => {},
|
|
DataTable: () => {},
|
|
Flipper: () => {},
|
|
FairPay: () => {},
|
|
Form: () => {},
|
|
Icon: () => {},
|
|
IconImage: () => {},
|
|
LiveStream: () => {},
|
|
LoggedIn: () => {},
|
|
Login: () => {},
|
|
Markdown: () => {},
|
|
Modal: () => {},
|
|
OGPreview: () => {},
|
|
Pagination: () => {},
|
|
PlaceHolder: () => {},
|
|
Progress: () => {},
|
|
Sidebar: () => {},
|
|
SnapImage: () => {},
|
|
Spinner: () => {},
|
|
StackLayer: () => {},
|
|
Switch: () => {},
|
|
Tabs: () => {},
|
|
Tiles: () => {},
|
|
Toast: () => {},
|
|
Tooltip: () => {},
|
|
Video: () => {},
|
|
WTVideo: () => {},
|
|
}
|
|
|
|
test.before(async t => t.context = await playstart(`${base_host}/client/#/login/`));
|
|
|
|
test.after(async t => {
|
|
await playstop(t.context.browser, t.context.p);
|
|
});
|
|
|
|
test('can load each component', async (t) => {
|
|
const {p} = t.context;
|
|
|
|
// we can really only run these tests if this is set
|
|
if(process.env.DANGER_ADMIN === "1") {
|
|
try {
|
|
const user = await login(t, p);
|
|
|
|
p.goto(`${base_host}/admin/#/bando/components/`);
|
|
await expect(t, p, tid("page-bando-demos"));
|
|
|
|
for(let [panel, tester] of Object.entries(panels)) {
|
|
await p.click(tid(`sidebar-link-${panel}`));
|
|
await expect(t, p, tid(`demo-${panel}`));
|
|
|
|
await p.click(tid(`tab-docs`));
|
|
await expect(t, p, tid(`tab-docs`));
|
|
|
|
await p.click(tid(`tab-code`));
|
|
await expect(t, p, tid(`tab-code`));
|
|
|
|
await p.click(tid(`tab-demo`));
|
|
await expect(t, p, tid(`tab-demo`));
|
|
|
|
await tester(t, p, user);
|
|
}
|
|
} catch (error) {
|
|
console.log(error);
|
|
t.fail(error.message);
|
|
}
|
|
} else {
|
|
t.pass();
|
|
}
|
|
});
|
|
|