From d9f560ee0c4e21291a09a8e327e81339883e8bd0 Mon Sep 17 00:00:00 2001 From: Abhimanyu Saharan Date: Mon, 9 Feb 2026 23:58:54 +0530 Subject: [PATCH] refactor: streamline code formatting and enhance test organization mocks --- backend/app/services/organizations.py | 4 +--- backend/tests/test_organizations_service.py | 3 +-- frontend/src/app/activity/page.test.tsx | 12 ++++++++++++ frontend/src/app/approvals/page.test.tsx | 12 ++++++++++++ 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/backend/app/services/organizations.py b/backend/app/services/organizations.py index d5d1e255..15223daa 100644 --- a/backend/app/services/organizations.py +++ b/backend/app/services/organizations.py @@ -201,9 +201,7 @@ async def ensure_member_for_user( # Serialize first-time provisioning per user to avoid concurrent duplicate org/member creation. await session.exec( - select(User.id) - .where(col(User.id) == user.id) - .with_for_update(), + select(User.id).where(col(User.id) == user.id).with_for_update(), ) existing_member = await get_first_membership(session, user.id) diff --git a/backend/tests/test_organizations_service.py b/backend/tests/test_organizations_service.py index 41304c0a..86184966 100644 --- a/backend/tests/test_organizations_service.py +++ b/backend/tests/test_organizations_service.py @@ -216,8 +216,7 @@ async def test_ensure_member_for_user_creates_personal_org_and_owner( assert out.all_boards_write is True assert out.organization_id == user.active_organization_id assert any( - isinstance(item, Organization) and item.id == out.organization_id - for item in session.added + isinstance(item, Organization) and item.id == out.organization_id for item in session.added ) assert session.committed == 1 diff --git a/frontend/src/app/activity/page.test.tsx b/frontend/src/app/activity/page.test.tsx index 94b5ccf9..981934c1 100644 --- a/frontend/src/app/activity/page.test.tsx +++ b/frontend/src/app/activity/page.test.tsx @@ -6,6 +6,18 @@ import ActivityPage from "./page"; import { AuthProvider } from "@/components/providers/AuthProvider"; import { QueryProvider } from "@/components/providers/QueryProvider"; +vi.mock("next/navigation", () => ({ + usePathname: () => "/activity", + useRouter: () => ({ + push: vi.fn(), + replace: vi.fn(), + prefetch: vi.fn(), + back: vi.fn(), + forward: vi.fn(), + refresh: vi.fn(), + }), +})); + vi.mock("next/link", () => { type LinkProps = React.PropsWithChildren<{ href: string | { pathname?: string }; diff --git a/frontend/src/app/approvals/page.test.tsx b/frontend/src/app/approvals/page.test.tsx index 3f4afe6b..f747b5bf 100644 --- a/frontend/src/app/approvals/page.test.tsx +++ b/frontend/src/app/approvals/page.test.tsx @@ -6,6 +6,18 @@ import GlobalApprovalsPage from "./page"; import { AuthProvider } from "@/components/providers/AuthProvider"; import { QueryProvider } from "@/components/providers/QueryProvider"; +vi.mock("next/navigation", () => ({ + usePathname: () => "/approvals", + useRouter: () => ({ + push: vi.fn(), + replace: vi.fn(), + prefetch: vi.fn(), + back: vi.fn(), + forward: vi.fn(), + refresh: vi.fn(), + }), +})); + vi.mock("next/link", () => { type LinkProps = React.PropsWithChildren<{ href: string | { pathname?: string };