mirror of
https://github.com/laurent22/joplin.git
synced 2024-12-30 10:36:35 +02:00
29 lines
922 B
TypeScript
29 lines
922 B
TypeScript
import { Store } from 'redux';
|
|
import { AppState } from '../../../utils/types';
|
|
import CommandService, { CommandRuntime } from '@joplin/lib/services/CommandService';
|
|
import allToolbarCommandNamesFromState from '../utils/allToolbarCommandNamesFromState';
|
|
|
|
// The toolbar expects all toolbar command runtimes to be registered before it can be
|
|
// rendered:
|
|
const mockCommandRuntimes = (store: Store<AppState>) => {
|
|
const makeMockRuntime = (commandName: string) => ({
|
|
declaration: { name: commandName },
|
|
runtime: (_props: null): CommandRuntime => ({
|
|
execute: jest.fn(),
|
|
}),
|
|
});
|
|
|
|
const isSeparator = (commandName: string) => commandName === '-';
|
|
|
|
const mockRuntimes = allToolbarCommandNamesFromState(
|
|
store.getState(),
|
|
).filter(
|
|
name => !isSeparator(name),
|
|
).map(makeMockRuntime);
|
|
return CommandService.instance().componentRegisterCommands(
|
|
null, mockRuntimes,
|
|
);
|
|
};
|
|
|
|
export default mockCommandRuntimes;
|