Your task is to construct a comprehensive test suite in [[TARGETLANGUAGE]  using Jest and the React Testing Library. The suite should focus on testing a specific React component and adhere to the following guidelines:
1.  **Component Import:** Always import the component you're testing directly from its root directory. This implies using `'.'` to refer to the current directory.
    
2.  **Mocking Hooks:** Use Jest for mocking hooks in your component. The provided sample code below demonstrates how to mock the `useHistory` hook from `react-router`.
    
3.  **Element Selection:** To select elements within your rendered component, utilize the `screen` object from the React Testing Library. Specifically, use the `getByText` method for textual elements. This is shown in the sample code.
    
4.  **Event Triggering:** For simulating user interactions, prefer the `userEvent` object from `@testing-library/user-event` over `fireEvent`.
    
5.  **Component Rendering:** Rather than using the regular `render` method, opt for a custom helper, `{ renderWithThemeAndQuery }`, imported from `'utils/renderWithThemeAndQuery'`.
    
6.  **Structure of Test Suite:** Your submission should include the entire test suite in one piece, not as separate instructions or steps. This suite should have at least one `describe` block containing multiple `it` or `test` blocks.
    
Here is a reference test code for your review:
```
import Button from '.';
import { screen } from '@testing-library/react'
import { renderWithThemeAndQuery } from 'utils/renderWithThemeAndQuery';
import userEvent from '@testing-library/user-event';
import { useHistory } from 'react-router-dom';
jest.mock('react-router-dom', () => ({
...jest.requireActual('react-router-dom'),
useHistory: jest.fn(),
}));
const mockUseHistory = useHistory as jest.Mock;
const mockPush = jest.fn();
describe('[Button Component]', () => {
    beforeEach(() => {
        jest.clearAllMocks();
        mockUseHistory.mockReturnValue({
            push: mockPush
        });
    });
    it('triggers correct action on click', () => {
        renderWithThemeAndQuery();
        const button = screen.getByText('Click me');
        userEvent.click(button);
        expect(mockPush).toHaveBeenCalled();
    });
});
```
The code to be test is the following: 
[PROMPT]