Files
wehub-resource-sync dde272c4b8
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 11:55:53 +08:00

56 lines
1.7 KiB
TypeScript

import { test, expect } from '@playwright/test';
test.beforeEach(async ({ page }) => {
// Prevent the mobile app modal from appearing and interfering with the test
await page.addInitScript(() => {
localStorage.setItem('hideMobileAppModal', 'true');
});
await page.goto(
'/learn/responsive-web-design-v9/workshop-cat-photo-app/step-2'
);
});
test.describe('Challenge Breadcrumb Tests', () => {
test('should display correctly', async ({ page, isMobile }) => {
const mobileBreadcrumb = async () => {
const testId = 'breadcrumb-mobile';
const superBlock = page.getByTestId(testId).getByRole('listitem').first();
await expect(superBlock).toBeVisible();
const superBlockLink = superBlock.getByRole('link', {
name: 'Responsive Web Design Certification'
});
await expect(superBlockLink).toBeVisible();
await expect(superBlockLink).toHaveAttribute(
'href',
'/learn/responsive-web-design-v9'
);
const block = page.getByTestId(testId).getByRole('listitem').last();
await expect(superBlock).toBeVisible();
const blockLink = block.getByRole('link', {
name: 'Build a Cat Photo App'
});
await expect(blockLink).toBeVisible();
await expect(blockLink).toHaveAttribute(
'href',
'/learn/responsive-web-design-v9/#workshop-cat-photo-app'
);
};
if (!isMobile) {
await expect(page.getByTestId('breadcrumb-mobile')).toBeHidden();
await expect(page.getByTestId('breadcrumb-desktop')).toBeVisible();
await page.setViewportSize({
width: 766,
height: 1080
});
}
await expect(page.getByTestId('breadcrumb-desktop')).toBeHidden();
await mobileBreadcrumb();
});
});