Skip to content

fix: centralize jest cleanup routine#1965

Open
marrouchi wants to merge 1 commit into
mainfrom
fix/centralize-after-all-jest-routine
Open

fix: centralize jest cleanup routine#1965
marrouchi wants to merge 1 commit into
mainfrom
fix/centralize-after-all-jest-routine

Conversation

@marrouchi

@marrouchi marrouchi commented Apr 29, 2026

Copy link
Copy Markdown
Contributor

What changed?

Summary by CodeRabbit

  • Tests

    • Simplified test cleanup across many suites by removing explicit database-connection teardown so shared test harness handles resource cleanup.
  • Refactor

    • Consolidated and trimmed redundant teardown code in ~50–60 test files to reduce duplication and improve test maintenance.

@coderabbitai

coderabbitai Bot commented Apr 29, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1377f6ff-acf2-4404-ab48-a4d887eaa638

📥 Commits

Reviewing files that changed from the base of the PR and between cf7c17e and 760163a.

📒 Files selected for processing (66)
  • packages/api/src/analytics/controllers/stats.controller.spec.ts
  • packages/api/src/analytics/repositories/stats.repository.spec.ts
  • packages/api/src/analytics/services/stats.service.spec.ts
  • packages/api/src/attachment/controllers/attachment.controller.spec.ts
  • packages/api/src/attachment/repositories/attachment.repository.spec.ts
  • packages/api/src/channel/source.controller.spec.ts
  • packages/api/src/chat/controllers/label-group.controller.spec.ts
  • packages/api/src/chat/controllers/label.controller.spec.ts
  • packages/api/src/chat/controllers/message.controller.spec.ts
  • packages/api/src/chat/controllers/subscriber.controller.spec.ts
  • packages/api/src/chat/controllers/thread.controller.spec.ts
  • packages/api/src/chat/repositories/label-group.repository.spec.ts
  • packages/api/src/chat/repositories/label.repository.spec.ts
  • packages/api/src/chat/repositories/message.repository.spec.ts
  • packages/api/src/chat/repositories/subscriber.repository.spec.ts
  • packages/api/src/chat/services/label.service.spec.ts
  • packages/api/src/chat/services/message.service.spec.ts
  • packages/api/src/chat/services/subscriber.service.spec.ts
  • packages/api/src/cms/controllers/content-type.controller.spec.ts
  • packages/api/src/cms/controllers/content.controller.spec.ts
  • packages/api/src/cms/controllers/menu.controller.spec.ts
  • packages/api/src/cms/repositories/content-type.repository.spec.ts
  • packages/api/src/cms/repositories/menu.repository.spec.ts
  • packages/api/src/cms/services/content-type.service.spec.ts
  • packages/api/src/cms/services/content.service.spec.ts
  • packages/api/src/cms/services/menu.service.spec.ts
  • packages/api/src/extension/cleanup.service.spec.ts
  • packages/api/src/extensions/channels/web/__test__/index.spec.ts
  • packages/api/src/i18n/controllers/language.controller.spec.ts
  • packages/api/src/i18n/controllers/translation.controller.spec.ts
  • packages/api/src/migration/migration.service.spec.ts
  • packages/api/src/setting/controllers/setting.controller.spec.ts
  • packages/api/src/setting/repositories/setting.repository.spec.ts
  • packages/api/src/setting/services/setting.service.spec.ts
  • packages/api/src/user/controllers/auth.controller.spec.ts
  • packages/api/src/user/controllers/model.controller.spec.ts
  • packages/api/src/user/controllers/permission.controller.spec.ts
  • packages/api/src/user/controllers/role.controller.spec.ts
  • packages/api/src/user/controllers/user.controller.spec.ts
  • packages/api/src/user/repositories/credential.repository.spec.ts
  • packages/api/src/user/repositories/model.repository.spec.ts
  • packages/api/src/user/repositories/permission.repository.spec.ts
  • packages/api/src/user/repositories/role.repository.spec.ts
  • packages/api/src/user/repositories/user.repository.spec.ts
  • packages/api/src/user/services/auth.service.spec.ts
  • packages/api/src/user/services/model.service.spec.ts
  • packages/api/src/user/services/passwordReset.service.spec.ts
  • packages/api/src/user/services/permission.service.spec.ts
  • packages/api/src/user/services/role.service.spec.ts
  • packages/api/src/user/services/user.service.spec.ts
  • packages/api/src/utils/generics/base-orm.controller.spec.ts
  • packages/api/src/utils/generics/base-orm.repository.spec.ts
  • packages/api/src/utils/generics/base-orm.service.spec.ts
  • packages/api/src/workflow/controllers/mcp-server.controller.spec.ts
  • packages/api/src/workflow/controllers/memory-definition.controller.spec.ts
  • packages/api/src/workflow/controllers/workflow-run.controller.spec.ts
  • packages/api/src/workflow/controllers/workflow-version.controller.spec.ts
  • packages/api/src/workflow/controllers/workflow.controller.spec.ts
  • packages/api/src/workflow/services/agentic.service.spec.ts
  • packages/api/src/workflow/services/memory-definition.service.spec.ts
  • packages/api/src/workflow/services/memory-record.service.spec.ts
  • packages/api/src/workflow/services/memory.service.spec.ts
  • packages/api/src/workflow/services/workflow-run.service.spec.ts
  • packages/api/src/workflow/services/workflow-scheduler.service.spec.ts
  • packages/api/src/workflow/services/workflow-version.service.spec.ts
  • packages/api/src/workflow/services/workflow.service.spec.ts
💤 Files with no reviewable changes (66)
  • packages/api/src/user/repositories/model.repository.spec.ts
  • packages/api/src/extension/cleanup.service.spec.ts
  • packages/api/src/user/controllers/role.controller.spec.ts
  • packages/api/src/user/services/model.service.spec.ts
  • packages/api/src/user/repositories/permission.repository.spec.ts
  • packages/api/src/extensions/channels/web/test/index.spec.ts
  • packages/api/src/cms/repositories/content-type.repository.spec.ts
  • packages/api/src/cms/controllers/content.controller.spec.ts
  • packages/api/src/setting/services/setting.service.spec.ts
  • packages/api/src/i18n/controllers/language.controller.spec.ts
  • packages/api/src/attachment/repositories/attachment.repository.spec.ts
  • packages/api/src/workflow/controllers/memory-definition.controller.spec.ts
  • packages/api/src/chat/repositories/subscriber.repository.spec.ts
  • packages/api/src/attachment/controllers/attachment.controller.spec.ts
  • packages/api/src/workflow/controllers/mcp-server.controller.spec.ts
  • packages/api/src/user/repositories/user.repository.spec.ts
  • packages/api/src/user/repositories/credential.repository.spec.ts
  • packages/api/src/chat/controllers/thread.controller.spec.ts
  • packages/api/src/chat/repositories/label.repository.spec.ts
  • packages/api/src/cms/controllers/menu.controller.spec.ts
  • packages/api/src/workflow/services/memory-definition.service.spec.ts
  • packages/api/src/migration/migration.service.spec.ts
  • packages/api/src/cms/repositories/menu.repository.spec.ts
  • packages/api/src/setting/repositories/setting.repository.spec.ts
  • packages/api/src/chat/controllers/label-group.controller.spec.ts
  • packages/api/src/setting/controllers/setting.controller.spec.ts
  • packages/api/src/workflow/services/workflow-version.service.spec.ts
  • packages/api/src/workflow/controllers/workflow-version.controller.spec.ts
  • packages/api/src/channel/source.controller.spec.ts
  • packages/api/src/user/services/role.service.spec.ts
  • packages/api/src/chat/controllers/label.controller.spec.ts
  • packages/api/src/chat/services/message.service.spec.ts
  • packages/api/src/analytics/repositories/stats.repository.spec.ts
  • packages/api/src/chat/services/label.service.spec.ts
  • packages/api/src/workflow/services/memory.service.spec.ts
  • packages/api/src/workflow/controllers/workflow.controller.spec.ts
  • packages/api/src/workflow/services/workflow.service.spec.ts
  • packages/api/src/workflow/services/workflow-run.service.spec.ts
  • packages/api/src/cms/services/content.service.spec.ts
  • packages/api/src/utils/generics/base-orm.service.spec.ts
  • packages/api/src/utils/generics/base-orm.repository.spec.ts
  • packages/api/src/utils/generics/base-orm.controller.spec.ts
  • packages/api/src/workflow/services/workflow-scheduler.service.spec.ts
  • packages/api/src/user/controllers/model.controller.spec.ts
  • packages/api/src/workflow/services/memory-record.service.spec.ts
  • packages/api/src/user/services/auth.service.spec.ts
  • packages/api/src/cms/services/content-type.service.spec.ts
  • packages/api/src/user/services/permission.service.spec.ts
  • packages/api/src/chat/repositories/message.repository.spec.ts
  • packages/api/src/analytics/controllers/stats.controller.spec.ts
  • packages/api/src/chat/controllers/subscriber.controller.spec.ts
  • packages/api/src/user/repositories/role.repository.spec.ts
  • packages/api/src/cms/services/menu.service.spec.ts
  • packages/api/src/i18n/controllers/translation.controller.spec.ts
  • packages/api/src/chat/services/subscriber.service.spec.ts
  • packages/api/src/chat/repositories/label-group.repository.spec.ts
  • packages/api/src/workflow/services/agentic.service.spec.ts
  • packages/api/src/user/controllers/user.controller.spec.ts
  • packages/api/src/cms/controllers/content-type.controller.spec.ts
  • packages/api/src/analytics/services/stats.service.spec.ts
  • packages/api/src/workflow/controllers/workflow-run.controller.spec.ts
  • packages/api/src/user/services/user.service.spec.ts
  • packages/api/src/user/controllers/permission.controller.spec.ts
  • packages/api/src/user/controllers/auth.controller.spec.ts
  • packages/api/src/chat/controllers/message.controller.spec.ts
  • packages/api/src/user/services/passwordReset.service.spec.ts

📝 Walkthrough

Walkthrough

Removes suite-level afterAll teardown and closeTypeOrmConnections imports from numerous test specs across the API package, leaving per-test afterEach cleanup intact and delegating module/connection teardown to external/global test harnesses.

Changes

Cohort / File(s) Summary
Analytics Tests
packages/api/src/analytics/controllers/stats.controller.spec.ts, packages/api/src/analytics/repositories/stats.repository.spec.ts, packages/api/src/analytics/services/stats.service.spec.ts
Deleted afterAll teardown and removed closeTypeOrmConnections import.
Attachment Tests
packages/api/src/attachment/controllers/attachment.controller.spec.ts, packages/api/src/attachment/repositories/attachment.repository.spec.ts
Removed suite-level module/TypeORM teardown and helper import.
Channel Tests
packages/api/src/channel/source.controller.spec.ts
Removed closeTypeOrmConnections usage from afterAll; other afterAll behaviors remain.
Chat Controllers
packages/api/src/chat/controllers/.../*.spec.ts
Removed afterAll teardown and closeTypeOrmConnections imports across controller specs.
Chat Repositories
packages/api/src/chat/repositories/.../*.spec.ts
Removed suite-level module/connection teardown and helper imports.
Chat Services
packages/api/src/chat/services/.../*.spec.ts
Deleted afterAll cleanup and closeTypeOrmConnections imports.
CMS Tests
packages/api/src/cms/.../*.spec.ts
Removed afterAll module/TypeORM teardown and corresponding imports across controllers, repositories, and services.
Extension Tests
packages/api/src/extension/.../*.spec.ts, packages/api/src/extensions/channels/web/__test__/index.spec.ts
Removed afterAll teardown and closeTypeOrmConnections import.
i18n Tests
packages/api/src/i18n/controllers/*.spec.ts
Deleted closeTypeOrmConnections import and afterAll teardown.
Migration Tests
packages/api/src/migration/migration.service.spec.ts
Removed call/import to closeTypeOrmConnections from afterAll; module close remains.
Settings Tests
packages/api/src/setting/.../*.spec.ts
Removed suite-level teardown and helper imports.
User Tests
packages/api/src/user/{controllers,repositories,services}/.../*.spec.ts
Removed afterAll module close and closeTypeOrmConnections usages across controllers, repos, and services.
Utils/Generics Tests
packages/api/src/utils/generics/*.spec.ts
Deleted afterAll teardown and removed closeTypeOrmConnections import.
Workflow Tests
packages/api/src/workflow/{controllers,services}/.../*.spec.ts
Removed afterAll teardown and closeTypeOrmConnections imports across workflow controllers and services.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Suggested labels

needs-review, enhancement

Suggested reviewers

  • yassinedorbozgithub
  • medchedli
  • MohamedAliBouhaouala

Poem

🐰 I hopped through specs, light on my paws,

Removed teardowns with gentle applause,
Central cleanup now hums out of sight,
Tests stay tidy and sleep through the night,
🥕 Hop—tests pass, and all feels right.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is entirely empty—containing only the template boilerplate with no actual content filled in for summary, why, validation, or other sections. Fill in the PR description with at least a summary of what changed (removal of afterAll/closeTypeOrmConnections from test files), why it's needed (centralizing cleanup), and validation approach.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'fix: centralize jest cleanup routine' directly and clearly summarizes the main change across all 58 modified test files: removing individual afterAll hooks and closeTypeOrmConnections calls.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/centralize-after-all-jest-routine

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 6/8 reviews remaining, refill in 14 minutes and 8 seconds.

Comment @coderabbitai help to get the list of available commands and usage tips.

@marrouchi marrouchi force-pushed the fix/centralize-after-all-jest-routine branch from cf7c17e to 760163a Compare April 29, 2026 21:53
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.

1 participant