import React from 'react';
import { render } from '@testing-library/react';
import { ThemeProvider } from '@theorchard/suite-frontend';
import { mockAppConfig } from 'lib/test-helpers/factories';
import hooks from 'src/utils/hooks';
import AppHeaderComponent from '../index';

jest.mock('@theorchard/suite-frontend', () => ({
    ...jest.requireActual('@theorchard/suite-frontend'),
    ThemeProvider: jest.fn(({ children }) => <div>{children}</div>),
}));

describe('<AppHeaderComponent /> application', () => {
    const config = mockAppConfig;
    const user = { id: 123 };

    beforeEach(() => {
        jest.mocked(ThemeProvider).mockClear();
        jest.spyOn(hooks, 'useRequest').mockReturnValue({ loading: false });
    });

    test('renders ThemeProvider', () => {
        render(<AppHeaderComponent config={config} user={user} />);

        expect(ThemeProvider).toHaveBeenCalled();
    });
});
