Conversation
Walkthrough
Pre-merge checks and finishing touches❌ Failed checks (2 warnings)
✅ Passed checks (1 passed)
✨ Finishing touches
🧪 Generate unit tests
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. Comment |
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (1)
apps/web/playwright/fixtures/users.ts (1)
685-687: Keep both logout helpers consistent (DRY).
createUserFixture.logoutstill uses the old flow. Reuse the same verified helper to avoid reintroducing flakes elsewhere.Apply this diff and add a small helper:
@@ logout: async () => { - await page.goto("/auth/logout"); + await visitAndVerifyLogout(page); },Add once near the other helpers:
async function visitAndVerifyLogout(page: Page) { await page.goto("/auth/logout"); await page.waitForURL(/\/auth\/logout(?:\?.*)?$/); const logoutBtn = page.getByTestId("logout-btn"); await expect(logoutBtn).toBeVisible(); await expect(logoutBtn).toHaveText(/go back to (the )?login page/i); }
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
apps/web/playwright/fixtures/users.ts(1 hunks)
🧰 Additional context used
📓 Path-based instructions (3)
**/*.ts
📄 CodeRabbit inference engine (.cursor/rules/review.mdc)
**/*.ts: For Prisma queries, only select data you need; never useinclude, always useselect
Ensure thecredential.keyfield is never returned from tRPC endpoints or APIs
Files:
apps/web/playwright/fixtures/users.ts
**/*.{ts,tsx}
📄 CodeRabbit inference engine (.cursor/rules/review.mdc)
Flag excessive Day.js use in performance-critical code; prefer native Date or Day.js
.utc()in hot paths like loops
Files:
apps/web/playwright/fixtures/users.ts
**/*.{ts,tsx,js,jsx}
⚙️ CodeRabbit configuration file
Flag default exports and encourage named exports. Named exports provide better tree-shaking, easier refactoring, and clearer imports. Exempt main components like pages, layouts, and components that serve as the primary export of a module.
Files:
apps/web/playwright/fixtures/users.ts
⏰ Context from checks skipped due to timeout of 180000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Type check / check-types
- GitHub Check: Linters / lint
- GitHub Check: Tests / Unit
🔇 Additional comments (1)
apps/web/playwright/fixtures/users.ts (1)
587-590: ```shell
#!/bin/bash
set -euo pipefail
echo "PWD: $(pwd)"
echo "---- ls fixture dir ----"
ls -la apps/web/playwright/fixtures || true
echo "---- search for logout CTA text / testid ----"
rg -n -C2 "logout-btn|Go back to the login page" apps/web -g '/*' || true
echo "---- search for getByTestId / data-testid usage ----"
rg -n -C2 "getByTestId\(|data-testid=" apps/web -g '/*' || true
echo "---- show users.ts around the reported lines if present ----"
if [ -f "apps/web/playwright/fixtures/users.ts" ]; then
sed -n '560,620p' apps/web/playwright/fixtures/users.ts || true
else
echo "MISSING: apps/web/playwright/fixtures/users.ts"
fi</blockquote></details> </blockquote></details> </details> <!-- This is an auto-generated comment by CodeRabbit for review status -->
E2E results are ready! |
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (2)
apps/web/playwright/workflow.e2e.ts (1)
18-20: Make workflow name unique to prevent parallel-run collisions.Hardcoded "test workflow" can clash across retries/shards and re-select the wrong row. Generate a unique name.
- await createWorkflow({ name: "test workflow" }); + const wfName = `test workflow ${test.info().parallelIndex}-${Date.now()}`; + await createWorkflow({ name: wfName });apps/web/playwright/fixtures/apps.ts (1)
114-116: Prefer locator assertions over raw waitForSelector for stability.Use Playwright’s auto-waiting visibility assertion; it’s more robust than DOM‑attachment checks.
- // fix the race condition - await page.waitForSelector('[data-testid="event-title"]'); + // fix the race condition + await expect(page.getByTestId("event-title")).toBeVisible(); await expect(page.getByTestId("vertical-tab-basics")).toHaveAttribute("aria-current", "page");
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (2)
apps/web/playwright/fixtures/apps.ts(1 hunks)apps/web/playwright/workflow.e2e.ts(1 hunks)
🧰 Additional context used
📓 Path-based instructions (3)
**/*.ts
📄 CodeRabbit inference engine (.cursor/rules/review.mdc)
**/*.ts: For Prisma queries, only select data you need; never useinclude, always useselect
Ensure thecredential.keyfield is never returned from tRPC endpoints or APIs
Files:
apps/web/playwright/workflow.e2e.tsapps/web/playwright/fixtures/apps.ts
**/*.{ts,tsx}
📄 CodeRabbit inference engine (.cursor/rules/review.mdc)
Flag excessive Day.js use in performance-critical code; prefer native Date or Day.js
.utc()in hot paths like loops
Files:
apps/web/playwright/workflow.e2e.tsapps/web/playwright/fixtures/apps.ts
**/*.{ts,tsx,js,jsx}
⚙️ CodeRabbit configuration file
Flag default exports and encourage named exports. Named exports provide better tree-shaking, easier refactoring, and clearer imports. Exempt main components like pages, layouts, and components that serve as the primary export of a module.
Files:
apps/web/playwright/workflow.e2e.tsapps/web/playwright/fixtures/apps.ts
🧠 Learnings (1)
📚 Learning: 2025-08-27T13:32:46.887Z
Learnt from: supalarry
PR: calcom/cal.com#23364
File: apps/api/v2/src/ee/event-types/event-types_2024_06_14/transformers/internal-to-api/internal-to-api.spec.ts:295-296
Timestamp: 2025-08-27T13:32:46.887Z
Learning: In calcom/cal.com, when transforming booking fields from internal to API format, tests in organizations-event-types.e2e-spec.ts already expect name field label and placeholder to be empty strings ("") rather than undefined. PR changes that set these to explicit empty strings are typically fixing implementation to match existing test expectations rather than breaking changes.
Applied to files:
apps/web/playwright/workflow.e2e.tsapps/web/playwright/fixtures/apps.ts
🧬 Code graph analysis (1)
apps/web/playwright/workflow.e2e.ts (1)
apps/api/v2/src/modules/organizations/teams/workflows/controllers/org-team-workflows.controller.ts (1)
createWorkflow(85-92)
⏰ Context from checks skipped due to timeout of 180000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (8)
- GitHub Check: Tests / Unit
- GitHub Check: Production builds / Build Docs
- GitHub Check: Production builds / Build API v1
- GitHub Check: Production builds / Build Web App
- GitHub Check: Production builds / Build API v2
- GitHub Check: Production builds / Build Atoms
- GitHub Check: Type check / check-types
- GitHub Check: Linters / lint
No description provided.