feat(storybook): add not found page (#3767)

This commit is contained in:
Alex Yang 2023-08-15 16:58:14 -05:00 committed by GitHub
parent 67b33d9b8f
commit 0df30e43c6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 7 deletions

View File

@ -152,7 +152,7 @@ jobs:
with:
workingDir: apps/storybook
buildScriptName: build
onlyStoryNames: Preview/Core
onlyStoryNames: 'Preview/**'
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
build-core:

View File

@ -1,7 +1,7 @@
import { routes } from '@affine/core/router';
import { expect } from '@storybook/jest';
import { assertExists } from '@blocksuite/global/utils';
import type { StoryContext, StoryFn } from '@storybook/react';
import { userEvent } from '@storybook/testing-library';
import { userEvent, waitFor } from '@storybook/testing-library';
import { Outlet, useLocation } from 'react-router-dom';
import {
reactRouterOutlets,
@ -27,7 +27,6 @@ export default {
export const Index: StoryFn = () => {
return <FakeApp />;
};
Index.decorators = [withRouter, withCleanLocalStorage];
Index.parameters = {
reactRouter: reactRouterParameters({
@ -38,13 +37,20 @@ Index.parameters = {
export const SettingPage: StoryFn = () => {
return <FakeApp />;
};
SettingPage.play = async ({ canvasElement }) => {
await new Promise(resolve => setTimeout(resolve, 1000));
await waitFor(
() => {
assertExists(
canvasElement.querySelector('[data-testid="settings-modal-trigger"]')
);
},
{
timeout: 5000,
}
);
const settingModalBtn = canvasElement.querySelector(
'[data-testid="settings-modal-trigger"]'
) as Element;
expect(settingModalBtn).not.toBeNull();
await userEvent.click(settingModalBtn);
};
SettingPage.decorators = [withRouter, withCleanLocalStorage];
@ -53,3 +59,16 @@ SettingPage.parameters = {
routing: reactRouterOutlets(routes),
}),
};
export const NotFoundPage: StoryFn = () => {
return <FakeApp />;
};
NotFoundPage.decorators = [withRouter, withCleanLocalStorage];
NotFoundPage.parameters = {
reactRouter: reactRouterParameters({
routing: reactRouterOutlets(routes),
location: {
path: '/404',
},
}),
};