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(); } });