Files
go_bt/tests/aistudio_project_selected_gate.test.js
T

23 lines
1.0 KiB
JavaScript

'use strict';
const assert = require('assert');
const fs = require('fs');
const path = require('path');
const servicePath = path.join(__dirname, '..', 'src', 'services', 'aistudio_api_key_service.js');
const source = fs.readFileSync(servicePath, 'utf8');
const start = source.indexOf('async function waitCreateReadyAfterProject');
const end = source.indexOf('\n/**', start + 10);
assert(start >= 0 && end > start, '必须存在新建项目后的就绪等待逻辑');
const implementation = source.slice(start, end);
const selectedCheck = implementation.indexOf('await hasRealProjectSelected(page)');
const disabledCheck = implementation.indexOf('await isCreateKeyDisabled(page)');
assert(selectedCheck >= 0, '新建项目后必须直接验证项目是否已真实选中');
assert(disabledCheck >= 0, '仍应保留按钮状态作为无法识别项目时的兜底');
assert(selectedCheck < disabledCheck,
'真实项目已选中时必须优先放行,不能被残留 data-disabled 属性提前拦截');
console.log('aistudio_project_selected_gate.test.js: PASS');