upskill-event-manager/wordpress-dev/tests/e2e/login-test.spec.ts
bengizmo d1f1005a5a fix: Update login form selectors to match actual page structure
- Updated LoginPage selectors to use more robust input[name] selectors instead of id-based
- Added better error handling and message detection
- Enhanced form waiting for better reliability
- Created debug test scripts to verify selector functionality
- Fixed isLoginFormVisible reference in trainer journey test

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-21 20:21:16 -03:00

63 lines
No EOL
2 KiB
TypeScript

import { test, expect } from '@playwright/test';
import { LoginPage } from './pages/LoginPage';
test.describe('Login Flow', () => {
test('should login with valid credentials', async ({ page }) => {
// Constants
const testTrainerUsername = 'test_trainer';
const testTrainerPassword = 'Test123!';
// Create a login page instance
const loginPage = new LoginPage(page);
// Navigate to login page
await loginPage.navigate();
// Save a screenshot before login
await page.screenshot({ path: 'screenshots/login-page-before.png' });
// Verify login form is visible
expect(await loginPage.isUsernameFieldVisible()).toBeTruthy();
// Login with valid credentials
await loginPage.login(testTrainerUsername, testTrainerPassword);
// Wait for navigation
await page.waitForLoadState('networkidle');
// Check if logged in
const isLoggedIn = await loginPage.isLoggedIn();
console.log(`Is logged in: ${isLoggedIn}`);
// Take a screenshot of the result
await page.screenshot({ path: 'screenshots/login-success.png' });
// Print current URL for debugging
const currentUrl = await page.url();
console.log('Current URL after login:', currentUrl);
// Verify login was successful
expect(isLoggedIn).toBeTruthy();
});
test('should show error with invalid credentials', async ({ page }) => {
// Create a login page instance
const loginPage = new LoginPage(page);
// Navigate to login page
await loginPage.navigate();
// Login with invalid credentials
await loginPage.login('invalid_user', 'wrong_password');
// Check for error message
const errorMessage = await loginPage.getErrorMessage();
console.log(`Error message: ${errorMessage}`);
// Take a screenshot of the error
await page.screenshot({ path: 'screenshots/login-error.png' });
// Expect an error message
expect(errorMessage).not.toBeNull();
});
});