From 64aa19fceac5fbca31b0abb4359b23336aafc924 Mon Sep 17 00:00:00 2001 From: Eunjae Lee Date: Mon, 24 Feb 2025 14:31:00 +0100 Subject: [PATCH] revert: default people filter at bookings (#19486) --- .../bookings/views/bookings-listing-view.tsx | 9 +- apps/web/playwright/bookings-list.e2e.ts | 93 +------------------ .../bookings/components/FiltersContainer.tsx | 1 - .../routers/loggedInViewer/me.handler.ts | 15 +-- 4 files changed, 3 insertions(+), 115 deletions(-) diff --git a/apps/web/modules/bookings/views/bookings-listing-view.tsx b/apps/web/modules/bookings/views/bookings-listing-view.tsx index 662db6ac1d..d8b730aaff 100644 --- a/apps/web/modules/bookings/views/bookings-listing-view.tsx +++ b/apps/web/modules/bookings/views/bookings-listing-view.tsx @@ -102,7 +102,7 @@ type RowData = }; function BookingsContent({ status }: BookingsProps) { - const { data: filterQuery, pushItemToKey } = useFilterQuery(); + const { data: filterQuery } = useFilterQuery(); const { t } = useLocale(); const user = useMeQuery().data; @@ -110,13 +110,6 @@ function BookingsContent({ status }: BookingsProps) { const tableContainerRef = useRef(null); useProperHeightForMobile(tableContainerRef); - useEffect(() => { - if (user?.isTeamAdminOrOwner && !filterQuery.userIds?.length) { - setIsFiltersVisible(true); - pushItemToKey("userIds", user?.id); - } - }, [user, filterQuery.status]); - const query = trpc.viewer.bookings.get.useInfiniteQuery( { limit: 10, diff --git a/apps/web/playwright/bookings-list.e2e.ts b/apps/web/playwright/bookings-list.e2e.ts index 1b25d303de..6ee5ff75e4 100644 --- a/apps/web/playwright/bookings-list.e2e.ts +++ b/apps/web/playwright/bookings-list.e2e.ts @@ -1,12 +1,10 @@ import { expect } from "@playwright/test"; -import { prisma } from "@calcom/prisma"; import { BookingStatus } from "@calcom/prisma/client"; -import { MembershipRole } from "@calcom/prisma/enums"; import type { Fixtures } from "./lib/fixtures"; import { test } from "./lib/fixtures"; -import { localize, setupManagedEvent } from "./lib/testUtils"; +import { setupManagedEvent } from "./lib/testUtils"; test.afterEach(({ users }) => users.deleteAll()); @@ -209,95 +207,6 @@ test.describe("Bookings", () => { webhookReceiver.close(); }); }); - test("Admin bookings filtered by default", async ({ page, users, bookings }) => { - const t = await localize("en"); - const firstUser = await users.create( - { name: "First", email: "first@cal.com" }, - { - hasTeam: true, - teamRole: MembershipRole.ADMIN, - } - ); - const teamId = (await firstUser.getFirstTeamMembership()).teamId; - const secondUser = await users.create({ name: "Second", email: "second@cal.com" }); - const thirdUser = await users.create({ name: "Third", email: "third@cal.com" }); - // Add teammates to the team - await prisma.membership.createMany({ - data: [ - { - teamId: teamId, - userId: secondUser.id, - role: MembershipRole.MEMBER, - accepted: true, - }, - { - teamId: teamId, - userId: thirdUser.id, - role: MembershipRole.MEMBER, - accepted: true, - }, - ], - }); - - //Create a single booking for FirstUser(admin) - const firstUserBookingFixture = await createBooking({ - title: "FirstUser as Organizer Meeting", - bookingsFixture: bookings, - relativeDate: 3, - organizer: firstUser, - organizerEventType: firstUser.eventTypes[0], - attendees: [ - { name: "Second", email: secondUser.email, timeZone: "Europe/Berlin" }, - { name: "Third", email: thirdUser.email, timeZone: "Europe/Berlin" }, - ], - }); - const firstUserBooking = await firstUserBookingFixture.self(); - - //Create 2 bookings for SecondUser - await createBooking({ - title: "SecondUser as Organizer Meeting 1", - bookingsFixture: bookings, - organizer: secondUser, - relativeDate: 2, - organizerEventType: secondUser.eventTypes[0], - attendees: [ - { name: "First", email: firstUser.email, timeZone: "Europe/Berlin" }, - { name: "Third", email: thirdUser.email, timeZone: "Europe/Berlin" }, - ], - }); - await createBooking({ - title: "SecondUser as Organizer Meeting 2", - bookingsFixture: bookings, - organizer: secondUser, - relativeDate: 4, - organizerEventType: secondUser.eventTypes[0], - attendees: [ - { name: "First", email: firstUser.email, timeZone: "Europe/Berlin" }, - { name: "Third", email: thirdUser.email, timeZone: "Europe/Berlin" }, - ], - }); - - //admin login - await firstUser.apiLogin(); - await Promise.all([ - page.waitForResponse((response) => /\/api\/trpc\/bookings\/get.*/.test(response.url())), - page.waitForResponse((response) => /\/api\/trpc\/bookings\/get.*/.test(response.url())), - page.goto(`/bookings/upcoming`), - page.waitForTimeout(10000), - page.waitForURL(`**\/upcoming?status=upcoming&userIds=${firstUser.id}`), - ]); - - //expect only 1 booking (of admin) to be shown in list due to default filtering for admin - const upcomingBookingsTable = page.locator('[data-testid="upcoming-bookings"]'); - const bookingListItems = upcomingBookingsTable.locator('[data-testid="booking-item"]'); - const bookingListCount = await bookingListItems.count(); - expect(bookingListCount).toBe(1); - const firstUpcomingBooking = bookingListItems.nth(0); - await expect( - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - firstUpcomingBooking.locator(`text=${firstUserBooking!.title}`) - ).toBeVisible(); - }); }); async function createBooking({ diff --git a/packages/features/bookings/components/FiltersContainer.tsx b/packages/features/bookings/components/FiltersContainer.tsx index ffc73cfcbe..b0ff226a99 100644 --- a/packages/features/bookings/components/FiltersContainer.tsx +++ b/packages/features/bookings/components/FiltersContainer.tsx @@ -35,7 +35,6 @@ export function FiltersContainer({ isFiltersVisible }: FiltersContainerProps) {