一些检查失败了
automerge / automerge (push) Has been cancelled
react-native-android-build-apk / AssembleRelease (push) Has been cancelled
Build macOS M1 / Main (push) Has been cancelled
Joplin Continuous Integration / Main (macos-15-intel) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-11-vs2026-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-2025) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04-arm) (push) Has been cancelled
Joplin UI tests / Main (ubuntu-22.04) (push) Has been cancelled
Joplin UI tests / Main (windows-2025) (push) Has been cancelled
Joplin UI tests / Mobile (push) Has been cancelled
Close stale issues / ProcessStaleIssues (push) Has been cancelled
39 行
1.2 KiB
TypeScript
39 行
1.2 KiB
TypeScript
import app from '../app';
|
|
import Folder from '@joplin/lib/models/Folder';
|
|
import BaseCommand from '../base-command';
|
|
import setupCommand from '../setupCommand';
|
|
import Setting from '@joplin/lib/models/Setting';
|
|
|
|
type OnStdout = (text: string)=> void;
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied
|
|
export const setupCommandForTesting = (CommandClass: any, stdout: OnStdout|null = null): BaseCommand => {
|
|
const command = new CommandClass();
|
|
setupCommand(
|
|
command,
|
|
stdout,
|
|
() => null,
|
|
() => ({
|
|
prompt: () => {
|
|
throw new Error('Not implemented: prompt');
|
|
},
|
|
}),
|
|
);
|
|
return command;
|
|
};
|
|
|
|
export const setupApplication = async () => {
|
|
// We create a notebook and set it as default since most commands require
|
|
// such notebook.
|
|
await Folder.save({ title: 'default' });
|
|
await app().refreshCurrentFolder();
|
|
|
|
// Some tests also need access to the Redux store
|
|
app().initRedux();
|
|
|
|
// Since the settings need to be loaded before the store is created, it will never
|
|
// receive the SETTING_UPDATE_ALL event, which means state.settings will not be
|
|
// initialised. So we manually call dispatchUpdateAll() to force an update.
|
|
Setting.dispatchUpdateAll();
|
|
};
|