-
-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add mock implementations for Obsidian API and tests #373
base: master
Are you sure you want to change the base?
Conversation
Add tests for GitHub REST API functions using mock Obsidian API. * **Mock Obsidian API**: Create `src/__mocks__/obsidian.ts` to mock `app.vault`, `app.metadataCache`, and `app.workspace` methods. * **Branch Tests**: Add `src/GitHub/branch.test.ts` to test `GithubBranch` class methods `newBranch`, `pullRequestOnRepo`, and `deleteBranchOnRepo`. * **Delete Tests**: Add `src/GitHub/delete.test.ts` to test `deleteFromGithub` and `filterGithubFile` functions. * **Files Tests**: Add `src/GitHub/files.test.ts` to test `FilesManagement` class methods `getSharedFiles`, `getAllFileWithPath`, and `getLinkedByEmbedding`. * **Upload Tests**: Add `src/GitHub/upload.test.ts` to test `Publisher` class methods `publish`, `uploadOnMultipleRepo`, and `uploadImage`. --- For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/Enveloppe/obsidian-enveloppe?shareId=XXXX-XXXX-XXXX-XXXX).
Important Review skippedAuto reviews are limited to specific labels. 🏷️ Labels to auto review (1)
Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
src/GitHub/delete.test.ts:91
- The test should include some filtering logic to ensure the function works as expected.
const result = await filterGithubFile(fileInRepo, settings, prop);
new TFile('file2.md', 'file2.md', 0, 0, 0, 0, 0, 0, 0, 0, 0), | ||
]; | ||
|
||
app.vault.getFiles.mockReturnValue(files); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The method getFiles does not exist on the mock app.vault object. It should be getMarkdownFiles.
app.vault.getFiles.mockReturnValue(files); | |
app.vault.getMarkdownFiles.mockReturnValue(files); |
Copilot is powered by AI, so mistakes are possible. Review output carefully before use.
Add tests for GitHub REST API functions using mock Obsidian API.
src/__mocks__/obsidian.ts
to mockapp.vault
,app.metadataCache
, andapp.workspace
methods.src/GitHub/branch.test.ts
to testGithubBranch
class methodsnewBranch
,pullRequestOnRepo
, anddeleteBranchOnRepo
.src/GitHub/delete.test.ts
to testdeleteFromGithub
andfilterGithubFile
functions.src/GitHub/files.test.ts
to testFilesManagement
class methodsgetSharedFiles
,getAllFileWithPath
, andgetLinkedByEmbedding
.src/GitHub/upload.test.ts
to testPublisher
class methodspublish
,uploadOnMultipleRepo
, anduploadImage
.For more details, open the Copilot Workspace session.