mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-03 21:19:01 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { beforeAll, vi } from "vitest";
 | 
						|
import $ from "jquery";
 | 
						|
 | 
						|
injectGlobals();
 | 
						|
 | 
						|
beforeAll(() => {
 | 
						|
    vi.mock("../services/ws.js", mockWebsocket);
 | 
						|
    vi.mock("../services/server.js", mockServer);
 | 
						|
});
 | 
						|
 | 
						|
function injectGlobals() {
 | 
						|
    const uncheckedWindow = window as any;
 | 
						|
    uncheckedWindow.$ = $;
 | 
						|
    uncheckedWindow.WebSocket = () => {};
 | 
						|
    uncheckedWindow.glob = {
 | 
						|
        isMainWindow: true
 | 
						|
    };
 | 
						|
}
 | 
						|
 | 
						|
function mockWebsocket() {
 | 
						|
    return {
 | 
						|
        default: {
 | 
						|
            subscribeToMessages(callback: (message: unknown) => void) {
 | 
						|
                // Do nothing.
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
function mockServer() {
 | 
						|
    return {
 | 
						|
        default: {
 | 
						|
            async get(url: string) {
 | 
						|
                if (url === "options") {
 | 
						|
                    return {};
 | 
						|
                }
 | 
						|
 | 
						|
                if (url === "keyboard-actions") {
 | 
						|
                    return [];
 | 
						|
                }
 | 
						|
 | 
						|
                if (url === "tree") {
 | 
						|
                    return {
 | 
						|
                        branches: [],
 | 
						|
                        notes: [],
 | 
						|
                        attributes: []
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            },
 | 
						|
 | 
						|
            async post(url: string, data: object) {
 | 
						|
                if (url === "tree/load") {
 | 
						|
                    throw new Error(`A module tried to load from the server the following notes: ${((data as any).noteIds || []).join(",")}\nThis is not supported, use Froca mocking instead and ensure the note exist in the mock.`)
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
    };
 | 
						|
}
 |