fix storybook exceeding timeout

This commit is contained in:
Wojciech Duda
2024-06-25 21:48:59 +02:00
committed by VitoAlbano
parent b94afd93b8
commit 2fcd083210
2 changed files with 3 additions and 5 deletions

View File

@@ -0,0 +1,46 @@
/*!
* @license
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Page } from '@playwright/test';
import { timeouts } from '../../utils/timeouts';
import { ComponentTitles } from '../../models/component-titles.model';
import { PlaywrightBase } from '../playwright-base';
interface NavigationParameters {
moduleNames: string[];
componentName: string;
story: string;
}
export class BaseStories extends PlaywrightBase {
private libraryName: string;
constructor(page: Page, libraryName: ComponentTitles) {
super(page);
this.libraryName = libraryName;
}
private buildStoryId({ moduleNames, componentName, story }: NavigationParameters): string {
const moduleNamesConcatenated = moduleNames.reduce((module, submodule) => module + '-' + submodule);
return this.libraryName + '-' + moduleNamesConcatenated + '-' + componentName + '--' + story;
}
async navigateTo(navigationParameters: NavigationParameters): Promise<void> {
await this.page.goto(`/iframe.html?viewMode=story&id=${this.buildStoryId(navigationParameters)}`);
await this.page.waitForSelector('storybook-root', { timeout: timeouts.large });
}
}