123 lines
No EOL
4.1 KiB
TypeScript
123 lines
No EOL
4.1 KiB
TypeScript
import { test, expect } from '@playwright/test';
|
|
import { STAGING_URL } from './config/staging-config';
|
|
|
|
/**
|
|
* Basic test to verify the site is accessible with the new domain
|
|
*/
|
|
test.describe('Domain Verification - Basic', () => {
|
|
test('Site loads and contains HVAC content', async ({ page }) => {
|
|
console.log('Step 1: Verifying site loads with new domain');
|
|
|
|
// Navigate to the main site
|
|
await page.goto(STAGING_URL);
|
|
await page.waitForLoadState('networkidle');
|
|
|
|
// Take screenshot of homepage
|
|
await page.screenshot({ path: 'test-results/domain-verification/homepage.png' });
|
|
|
|
// Verify the page loads
|
|
const title = await page.title();
|
|
console.log(`Homepage title: ${title}`);
|
|
expect(title).toBeTruthy();
|
|
|
|
// Check if the page contains HVAC-related content
|
|
const pageContent = await page.textContent('body');
|
|
console.log(`Page contains "HVAC": ${pageContent?.includes('HVAC')}`);
|
|
console.log(`Page contains "training": ${pageContent?.includes('training')}`);
|
|
console.log(`Page contains "events": ${pageContent?.includes('events')}`);
|
|
|
|
// Check navigation links
|
|
console.log('Step 2: Checking key navigation elements');
|
|
|
|
// Look for login link
|
|
const loginLinks = [
|
|
'a:has-text("Login")',
|
|
'a:has-text("Log In")',
|
|
'a[href*="login"]',
|
|
'a[href*="wp-admin"]'
|
|
];
|
|
|
|
for (const linkSelector of loginLinks) {
|
|
const link = page.locator(linkSelector);
|
|
const count = await link.count();
|
|
if (count > 0) {
|
|
console.log(`Found login link using selector: ${linkSelector}`);
|
|
break;
|
|
}
|
|
}
|
|
|
|
// Check if WordPress admin is accessible
|
|
console.log('Step 3: Checking WordPress admin accessibility');
|
|
await page.goto(`${STAGING_URL}/wp-admin/`);
|
|
await page.waitForLoadState('networkidle');
|
|
|
|
// Take screenshot of admin redirect
|
|
await page.screenshot({ path: 'test-results/domain-verification/admin-redirect.png' });
|
|
|
|
// Should redirect to login page or show login form
|
|
const currentUrl = page.url();
|
|
console.log(`Admin URL: ${currentUrl}`);
|
|
const isLoginPage = currentUrl.includes('wp-login.php') || currentUrl.includes('login');
|
|
console.log(`Redirects to login: ${isLoginPage}`);
|
|
|
|
// We expect to be redirected to login which indicates the admin panel exists
|
|
expect(isLoginPage).toBeTruthy();
|
|
|
|
console.log('Basic domain verification completed successfully');
|
|
});
|
|
|
|
test('Check for HVAC plugin presence', async ({ page }) => {
|
|
console.log('Step 1: Checking for HVAC plugin indicators');
|
|
|
|
// Go to homepage first
|
|
await page.goto(STAGING_URL);
|
|
await page.waitForLoadState('networkidle');
|
|
|
|
// Check for plugin-specific content in the page source
|
|
const htmlContent = await page.content();
|
|
|
|
// Look for HVAC plugin indicators
|
|
const hvacIndicators = [
|
|
'hvac-community-events',
|
|
'hvac-dashboard',
|
|
'hvac-registration',
|
|
'trainer-profile',
|
|
'community-login'
|
|
];
|
|
|
|
let foundIndicators = 0;
|
|
for (const indicator of hvacIndicators) {
|
|
if (htmlContent.includes(indicator)) {
|
|
console.log(`Found HVAC indicator: ${indicator}`);
|
|
foundIndicators++;
|
|
}
|
|
}
|
|
|
|
console.log(`Found ${foundIndicators} HVAC plugin indicators`);
|
|
|
|
// Check for WordPress plugin assets that might be loading
|
|
const cssLinks = await page.$$eval('link[rel="stylesheet"]', links =>
|
|
links.map(link => link.href).filter(href => href.includes('hvac'))
|
|
);
|
|
|
|
const jsLinks = await page.$$eval('script[src]', scripts =>
|
|
scripts.map(script => script.src).filter(src => src.includes('hvac'))
|
|
);
|
|
|
|
console.log(`HVAC CSS files: ${cssLinks.length}`);
|
|
console.log(`HVAC JS files: ${jsLinks.length}`);
|
|
|
|
if (cssLinks.length > 0) {
|
|
console.log('HVAC CSS files found:', cssLinks);
|
|
}
|
|
|
|
if (jsLinks.length > 0) {
|
|
console.log('HVAC JS files found:', jsLinks);
|
|
}
|
|
|
|
// Take screenshot for reference
|
|
await page.screenshot({ path: 'test-results/domain-verification/plugin-check.png' });
|
|
|
|
console.log('Plugin presence check completed');
|
|
});
|
|
}); |