import { faker } from '@faker-js/faker'; import type { IRoom, ISubscription } from '@rocket.chat/core-typings'; import type { ReactNode } from 'react'; import { useMemo } from 'react'; import { RoomContext } from '../../../client/views/room/contexts/RoomContext'; import { createFakeRoom, createFakeSubscription } from '../data'; export type FakeRoomProviderProps = { children?: ReactNode; roomOverrides?: Partial; subscriptionOverrides?: Partial; }; const FakeRoomProvider = ({ children, roomOverrides, subscriptionOverrides }: FakeRoomProviderProps) => { return ( { const room = createFakeRoom(roomOverrides); const subscription = createFakeSubscription(subscriptionOverrides); return { rid: room._id, room, hasMoreNextMessages: faker.datatype.boolean(), hasMorePreviousMessages: faker.datatype.boolean(), isLoadingMoreMessages: faker.datatype.boolean(), subscription, }; }, [roomOverrides, subscriptionOverrides])} > {children} ); }; export default FakeRoomProvider;