// test-utils.tsx
import * as React from 'react';
import { render } from 'vitest-browser-react'
import JustwatchContext from '../context/context';
import type { Settings } from '../types';

const mockContextValues: Settings = {
  apiKey: 'your-api-key',
  apiUrl: 'http://localhost:4004',
  locale: 'en_US',
  theme: 'light',
  maxOffers: 10,
  previewUrl: 'your-preview-url',
  offerLabel: 'price_type',
};

const AllProviders = ({ children }: { children: React.ReactNode }) => (
  <JustwatchContext.Provider value={mockContextValues}>
    {children}
  </JustwatchContext.Provider>
);

const customRender = (
  ui: React.ReactElement,
  options: Omit<Parameters<typeof render>[1], 'wrapper'> = {}
): ReturnType<typeof render> => render(ui, { wrapper: AllProviders, ...options });

export * from '@testing-library/react';
export { customRender as render };
