e2e testing framework-ish for obsidian plugins
Go to file
☙◦ The Tablet ❀ GamerGirlandCo ◦❧ 2352b6f782
Some checks failed
Playwright Tests / test (push) Has been cancelled
remove debug log of ls output on linux
2024-10-24 20:50:36 -04:00
.github/workflows rewrite declaration of XDG_CONFIG_HOME env var 2024-10-24 20:46:40 -04:00
.vscode hello world! 🌸 2024-10-23 18:38:55 -04:00
.yarn log whether vault exists 2024-10-24 20:35:10 -04:00
packages remove debug log of ls output on linux 2024-10-24 20:50:36 -04:00
vault fixes for github actions 2024-10-24 15:53:37 -04:00
.editorconfig hello world! 🌸 2024-10-23 18:38:55 -04:00
.gitattributes hello world! 🌸 2024-10-23 18:38:55 -04:00
.gitignore hello world! 🌸 2024-10-23 18:38:55 -04:00
.yarnrc.yml hello world! 🌸 2024-10-23 18:38:55 -04:00
package.json hello world! 🌸 2024-10-23 18:38:55 -04:00
README.md update readme 2024-10-24 15:04:58 -04:00
yarn.lock re-add xvfb-maybe dependency 2024-10-24 16:03:02 -04:00

the Obsidian Testing Framework

what is this?

this is a library that (finally!) lets you end-to-end test your obsidian plugins. it uses playwright to interact with obsidian, which is an Electron app under the hood.

great! how do i use it?

basic usage

import {test} from "obsidian-testing-framework";
test('obsidian app url', async ({ page }) => {
	console.log(page.url());
	expect(/obsidian\.md/i.test(page.url())).toBeTruthy()
});

usage with the app instance

test("idk", async({page}) => {
	console.log("idk")
	let tfile = await doWithApp(page,async (app) => {
		return app.metadataCache.getFirstLinkpathDest("Welcome", "/");
	});
	expect(what.basename).toEqual("Welcome")
})

other utilities

see src/util.ts for the currently included utilities and their documentation.