Skip to content

feat: Add tests for remaining core logic#17

Draft
google-labs-jules[bot] wants to merge 2 commits intodevelopfrom
feat/add-initial-tests
Draft

feat: Add tests for remaining core logic#17
google-labs-jules[bot] wants to merge 2 commits intodevelopfrom
feat/add-initial-tests

Conversation

@google-labs-jules
Copy link

This change completes the introduction of testing to the project. It adds comprehensive unit tests for the remaining core logic, including AI services, state management stores, and utility functions. It also adds a convenient npm test script to run the full test suite.

- Introduce `vitest` and `jsdom` for unit testing.
- Add `vitest.config.ts` to configure the test environment, including path aliases.
- Add unit tests for the following utilities:
    - `translateJosa.ts`
    - `generateUniqueId.ts`
    - `replaceSubstring.ts`
    - `parseHtmlToArray.ts`
    - `HtmlProcessor.ts`
- Fix bugs discovered in `translateJosa.ts` and `HtmlProcessor.ts` during test implementation.
- Add comprehensive tests for AI-related services and utilities, including `AiService`, `refineForeign`, `dify`, `analyzeMorpheme`, and `findForeignWord`. This involved extensive mocking of dependencies like `axios` and `@tensorflow/tfjs`.
- Add tests for state management logic, including the `useFileStore` Zustand store and the `DocumentManager` orchestrator class.
- Add `npm test` script to `package.json` for easy execution of all tests.
- Add `@testing-library/react` to support testing of stores and hooks.
- Fix bugs discovered in `getSurroundingWordsByOriginId.ts` during test implementation.
@google-labs-jules
Copy link
Author

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll acknowledge your comments with a 👀 emoji and then get to work. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

I will automatically address your feedback. For any comments you don't want me to act on, just include (aside).



For security, I will only act on instructions from the user who triggered this task for this pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants