test: migrate rankings and home-page tests from Playwright to Cucumber
Release / release (push) Failing after 10s
Release / release (push) Failing after 10s
- Added rankings.feature with 3 scenarios (page loads, columns, public access) - Added home-page.feature with 4 scenarios (top players, club info, tournament, sign in) - Added step definitions for rankings page and public access testing - All 27 Cucumber scenarios passing
This commit is contained in:
@@ -551,3 +551,51 @@ Then('the settings should be saved successfully', async function () {
|
||||
await expect(world.page.locator('text=Settings saved successfully')).toBeVisible();
|
||||
console.log('🌍 Verified settings were saved successfully');
|
||||
});
|
||||
|
||||
// Rankings Page Steps
|
||||
When('I go to the rankings page', async function () {
|
||||
console.log('🌍 Going to rankings page');
|
||||
await world.page.goto(`${world.baseURL}/rankings`);
|
||||
await world.page.waitForLoadState('domcontentloaded');
|
||||
});
|
||||
|
||||
Then('I should see {string} in the page heading', async function (heading: string) {
|
||||
// Use a more flexible selector that matches text content
|
||||
await expect(world.page.locator(`text=${heading}`)).toBeVisible();
|
||||
console.log(`🌍 Verified heading "${heading}" is visible`);
|
||||
});
|
||||
|
||||
Then('I should see a rankings table', async function () {
|
||||
await expect(world.page.locator('table')).toBeVisible();
|
||||
console.log('🌍 Verified rankings table is visible');
|
||||
});
|
||||
|
||||
Then('I should see a rankings table with columns', async function () {
|
||||
const table = world.page.locator('table');
|
||||
await expect(table).toBeVisible();
|
||||
const headerCount = await world.page.locator('th').count();
|
||||
expect(headerCount).toBeGreaterThan(0);
|
||||
console.log(`🌍 Verified rankings table has ${headerCount} columns`);
|
||||
});
|
||||
|
||||
Then('the table should have column headers', async function () {
|
||||
const headerCount = await world.page.locator('th').count();
|
||||
expect(headerCount).toBeGreaterThan(0);
|
||||
console.log(`🌍 Verified table has ${headerCount} column headers`);
|
||||
});
|
||||
|
||||
Given('I am not logged in', async function () {
|
||||
// This is just a documentation step - the test environment starts fresh
|
||||
console.log('🌍 User is not logged in (fresh session)');
|
||||
});
|
||||
|
||||
Then('I should be on the rankings page', async function () {
|
||||
const currentUrl = world.page.url();
|
||||
console.log(`🌍 Checking current URL: ${currentUrl}`);
|
||||
expect(currentUrl).toContain('/rankings');
|
||||
});
|
||||
|
||||
Then('I should see the rankings table', async function () {
|
||||
await expect(world.page.locator('table')).toBeVisible();
|
||||
console.log('🌍 Verified rankings table is visible');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user