Enhance FaceAI integration with live checks and metadata handling
All checks were successful
Publish FaceAI Container / publish (push) Successful in 3m22s
All checks were successful
Publish FaceAI Container / publish (push) Successful in 3m22s
- Added optional live FaceAI checks in README.md - Implemented relative storage segment parsing in race-storage.js - Updated server.js to include relative directory in race storage - Refactored legacyAssets.js to resolve asset base URL dynamically - Expanded live race tests to validate FaceAI app launch and metadata - Introduced portrait image handling for live upload flow - Updated faceai_handoff.php to process race storage relative directory
This commit is contained in:
parent
c88b373c73
commit
bb60201ad4
9 changed files with 214 additions and 25 deletions
|
|
@ -2,11 +2,15 @@ const fs = require('fs');
|
|||
const path = require('path');
|
||||
const { expect } = require('@playwright/test');
|
||||
|
||||
const WORKSPACE_ROOT = path.resolve(__dirname, '..', '..', '..');
|
||||
const LIVE_SITE_BASE_URL = process.env.LIVE_SITE_BASE_URL || 'https://www.regalamiunsorriso.it';
|
||||
const LIVE_SITE_LOGIN_URL = process.env.LIVE_SITE_LOGIN_URL || `${LIVE_SITE_BASE_URL}/login_clienti-it.html`;
|
||||
const LIVE_SITE_RACE_URL = process.env.LIVE_SITE_RACE_URL || `${LIVE_SITE_BASE_URL}/42%20HALF%20MARATHON%20FIRENZE_gara-1018545---96-1.html`;
|
||||
const LIVE_FACEAI_BASE_URL = process.env.LIVE_FACEAI_BASE_URL || 'https://ai.regalamiunsorriso.it';
|
||||
const LIVE_SITE_USERNAME = process.env.LIVE_SITE_USERNAME || '';
|
||||
const LIVE_SITE_PASSWORD = process.env.LIVE_SITE_PASSWORD || '';
|
||||
const LIVE_SITE_PORTRAIT_PATH = process.env.LIVE_SITE_PORTRAIT_PATH || path.join(WORKSPACE_ROOT, 'test_pkl', 'live', 'test_portrait_1.png');
|
||||
const LIVE_SITE_RUN_UPLOAD_FLOW = process.env.LIVE_SITE_RUN_UPLOAD_FLOW === '1';
|
||||
const AUTH_FILE = path.join(__dirname, '.auth', 'user.json');
|
||||
|
||||
function ensureAuthDirectory() {
|
||||
|
|
@ -75,18 +79,45 @@ async function expectRacePageLoaded(page) {
|
|||
await expect(page.locator('script[src*="_js/rus-ecom-240621.js"]')).toHaveCount(1);
|
||||
}
|
||||
|
||||
async function ensureLiveAuthenticatedRacePage(page) {
|
||||
await page.goto(LIVE_SITE_RACE_URL, { waitUntil: 'domcontentloaded' });
|
||||
await dismissCookieBanner(page);
|
||||
|
||||
try {
|
||||
await waitForLoggedInUi(page);
|
||||
} catch (error) {
|
||||
await performLiveLogin(page);
|
||||
await page.goto(LIVE_SITE_RACE_URL, { waitUntil: 'domcontentloaded' });
|
||||
await dismissCookieBanner(page);
|
||||
await waitForLoggedInUi(page);
|
||||
}
|
||||
|
||||
await expectRacePageLoaded(page);
|
||||
}
|
||||
|
||||
function requirePortraitFixture() {
|
||||
if (!fs.existsSync(LIVE_SITE_PORTRAIT_PATH)) {
|
||||
throw new Error(`LIVE_SITE_PORTRAIT_PATH does not exist: ${LIVE_SITE_PORTRAIT_PATH}`);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
AUTH_FILE,
|
||||
LIVE_FACEAI_BASE_URL,
|
||||
LIVE_SITE_BASE_URL,
|
||||
LIVE_SITE_LOGIN_URL,
|
||||
LIVE_SITE_PASSWORD,
|
||||
LIVE_SITE_PORTRAIT_PATH,
|
||||
LIVE_SITE_RACE_URL,
|
||||
LIVE_SITE_RUN_UPLOAD_FLOW,
|
||||
LIVE_SITE_USERNAME,
|
||||
dismissCookieBanner,
|
||||
ensureLiveAuthenticatedRacePage,
|
||||
ensureAuthDirectory,
|
||||
expectRacePageLoaded,
|
||||
loginSubmitLocator,
|
||||
performLiveLogin,
|
||||
requirePortraitFixture,
|
||||
requireCredentials,
|
||||
waitForLoggedInUi
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue