mirror of
https://github.com/fancive/obsidian-parallel-reader.git
synced 2026-07-22 17:20:24 +00:00
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
61 lines
1.6 KiB
JavaScript
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; },
|
|
};
|