fancive_obsidian-parallel-r.../tests/test-setup.js
wujunchen 7cb68658f5 refactor: split modules.test.js into 12 per-module test files
Replaces the monolithic modules.test.js (983 lines) with focused
per-module test files sharing a common test-setup.js. Each file is
under 225 lines. All existing test assertions preserved.

New files: test-setup.js, anchor.test.js, schema.test.js, cache.test.js,
cards-nav.test.js, markdown.test.js, vault-batch.test.js, i18n.test.js,
scroll.test.js, settings.test.js, providers.test.js, streaming.test.js,
cli.test.js

Change-Id: I37a3342a1588807277e679e6535cde361e650565
2026-04-27 15:21:03 +08:00

61 lines
1.6 KiB
JavaScript

const assert = require('assert');
const { EventEmitter } = require('events');
const Module = require('module');
const originalLoad = Module._load;
let requestUrlMock = async () => ({ status: 200, json: {}, text: '{}' });
Module._load = function load(request, parent, isMain) {
if (request === 'obsidian') {
class Plugin {}
class ItemView { constructor(leaf) { this.leaf = leaf; this.containerEl = { children: [{}, {}] }; } }
class PluginSettingTab {}
class Setting {}
class Notice {}
class MarkdownView {}
class TFile {}
class Menu {}
class Modal {}
return {
Plugin, ItemView, PluginSettingTab, Setting, Notice, MarkdownView, TFile, Menu, Modal,
MarkdownRenderer: { render: async () => {} },
requestUrl: (params) => requestUrlMock(params),
setIcon: () => {},
};
}
return originalLoad.call(this, request, parent, isMain);
};
const t = require('../main.js').__test;
function openAiCardsResponse(cards) {
const json = {
choices: [{
message: {
content: JSON.stringify({ cards }),
},
}],
};
return { status: 200, json, text: JSON.stringify(json) };
}
const baseSettings = {
backend: 'api',
apiProvider: 'openai',
apiFormat: 'openai-chat',
apiBaseUrl: 'https://api.openai.com/v1',
apiAuthType: 'bearer',
apiKey: 'test-key',
apiMaxTokens: 4096,
model: 'openai/gpt-5.1',
};
module.exports = {
assert,
EventEmitter,
t,
baseSettings,
openAiCardsResponse,
getRequestUrlMock() { return requestUrlMock; },
setRequestUrlMock(fn) { requestUrlMock = fn; },
};