e2e testing framework-ish for obsidian plugins
Go to file
☙◦ The Tablet ❀ GamerGirlandCo ◦❧ c59526948b
Some checks failed
Playwright Tests / test (push) Failing after 8s
fixes for github actions
2024-10-24 15:51:47 -04:00
.github/workflows fixes for github actions 2024-10-24 15:51:47 -04:00
.vscode hello world! 🌸 2024-10-23 18:38:55 -04:00
.yarn update lockfile 2024-10-24 15:12:06 -04:00
packages remove unused import 2024-10-24 15:15:09 -04:00
vault hello world! 🌸 2024-10-23 18:38:55 -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 update lockfile 2024-10-24 15:12:06 -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.