feat: 更新作业纸 footer
This commit is contained in:
@@ -15,7 +15,7 @@ const deferred = () => {
|
||||
const tick = () => new Promise(setImmediate);
|
||||
|
||||
/** 加载真实配置、请求、认证、App 与切换流程,仅模拟微信运行时和服务端响应。 */
|
||||
function fixture(storage = new Map()) {
|
||||
function fixture(storage = new Map(), useDefaultEnvironment = false) {
|
||||
let version = 'develop';
|
||||
let app;
|
||||
let pages = [];
|
||||
@@ -131,6 +131,12 @@ function fixture(storage = new Map()) {
|
||||
return exports;
|
||||
}
|
||||
load('app');
|
||||
const config = load('config/api');
|
||||
if (!useDefaultEnvironment) {
|
||||
// 既有切换场景从 local 开始,并显式模拟三个环境同址。
|
||||
config.apiConfig.developmentEnvironment = 'local';
|
||||
config.apiConfig.productionBaseUrl = config.apiConfig.localBaseUrl;
|
||||
}
|
||||
return {
|
||||
config: load('config/api'),
|
||||
auth: load('utils/auth'),
|
||||
@@ -423,3 +429,31 @@ test('Debug 页面调用统一切换入口,失败时隐藏 loading 后显示
|
||||
});
|
||||
assert.equal(toasts.length, 0);
|
||||
});
|
||||
|
||||
test('所有包默认请求线上;忽略旧 local 选择,新手动选择仍可持久保存', async () => {
|
||||
const online = 'https://doodle-api.joeyone.cn/api/v1';
|
||||
const f = fixture(
|
||||
new Map([['doodle_develop_api_environment_v1', 'local']]),
|
||||
true,
|
||||
);
|
||||
for (const version of ['develop', 'trial', 'release', 'unknown']) {
|
||||
f.version(version);
|
||||
assert.equal(f.config.getApiConfig().environment, 'production');
|
||||
assert.equal(f.config.getApiConfig().baseUrl, online);
|
||||
}
|
||||
f.version('develop');
|
||||
await f.api.apiRequest('/categories', { auth: 'none' });
|
||||
assert.equal(f.requests.at(-1).url, `${online}/categories`);
|
||||
f.config.selectApiEnvironment('local');
|
||||
assert.equal(
|
||||
f.config.getApiConfig().baseUrl,
|
||||
'http://127.0.0.1:8800/api/v1',
|
||||
);
|
||||
assert.equal(
|
||||
fixture(f.storage, true).config.getApiConfig().environment,
|
||||
'local',
|
||||
);
|
||||
f.version('trial');
|
||||
assert.equal(f.config.getApiConfig().baseUrl, online);
|
||||
assert.equal(f.config.getApiConfig().environment, 'production');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user