|
|
|
@ -78,23 +78,13 @@ describe('ToolbarExtensionPoint', () => { |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should render "Add" extension point menu button', () => { |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" splitted={false} />); |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" />); |
|
|
|
|
|
|
|
|
|
expect(screen.getByRole('button', { name: 'Add' })).toBeVisible(); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should render menu with extensions when "Add" is clicked in split mode', async () => { |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId={'left'} timeZone="browser" splitted={true} />); |
|
|
|
|
|
|
|
|
|
await userEvent.click(screen.getByRole('button', { name: 'Add' })); |
|
|
|
|
|
|
|
|
|
expect(screen.getByRole('group', { name: 'Dashboards' })).toBeVisible(); |
|
|
|
|
expect(screen.getByRole('menuitem', { name: 'Add to dashboard' })).toBeVisible(); |
|
|
|
|
expect(screen.getByRole('menuitem', { name: 'ML: Forecast' })).toBeVisible(); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should render menu with extensions when "Add" is clicked', async () => { |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" splitted={false} />); |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" />); |
|
|
|
|
|
|
|
|
|
await userEvent.click(screen.getByRole('button', { name: 'Add' })); |
|
|
|
|
|
|
|
|
@ -104,7 +94,7 @@ describe('ToolbarExtensionPoint', () => { |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should call onClick from extension when menu item is clicked', async () => { |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" splitted={false} />); |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" />); |
|
|
|
|
|
|
|
|
|
await userEvent.click(screen.getByRole('button', { name: 'Add' })); |
|
|
|
|
await userEvent.click(screen.getByRole('menuitem', { name: 'Add to dashboard' })); |
|
|
|
@ -116,7 +106,7 @@ describe('ToolbarExtensionPoint', () => { |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should render confirm navigation modal when extension with path is clicked', async () => { |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" splitted={false} />); |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" />); |
|
|
|
|
|
|
|
|
|
await userEvent.click(screen.getByRole('button', { name: 'Add' })); |
|
|
|
|
await userEvent.click(screen.getByRole('menuitem', { name: 'ML: Forecast' })); |
|
|
|
@ -130,7 +120,7 @@ describe('ToolbarExtensionPoint', () => { |
|
|
|
|
const targets = [{ refId: 'A' }]; |
|
|
|
|
const data = createEmptyQueryResponse(); |
|
|
|
|
|
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" splitted={false} />, { |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" />, { |
|
|
|
|
targets, |
|
|
|
|
data, |
|
|
|
|
}); |
|
|
|
@ -155,7 +145,7 @@ describe('ToolbarExtensionPoint', () => { |
|
|
|
|
const targets = [{ refId: 'A' }]; |
|
|
|
|
const data = createEmptyQueryResponse(); |
|
|
|
|
|
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="" splitted={false} />, { |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="" />, { |
|
|
|
|
targets, |
|
|
|
|
data, |
|
|
|
|
}); |
|
|
|
@ -167,7 +157,7 @@ describe('ToolbarExtensionPoint', () => { |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should correct extension point id when fetching extensions', async () => { |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" splitted={false} />); |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" />); |
|
|
|
|
|
|
|
|
|
const [options] = getPluginLinkExtensionsMock.mock.calls[0]; |
|
|
|
|
const { extensionPointId } = options; |
|
|
|
@ -201,24 +191,13 @@ describe('ToolbarExtensionPoint', () => { |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should render "Add" extension point menu button', () => { |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" splitted={false} />); |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" />); |
|
|
|
|
|
|
|
|
|
expect(screen.getByRole('button', { name: 'Add' })).toBeVisible(); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should render "Add" extension point menu button in split mode', async () => { |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId={'left'} timeZone="browser" splitted={true} />); |
|
|
|
|
|
|
|
|
|
await userEvent.click(screen.getByRole('button', { name: 'Add' })); |
|
|
|
|
|
|
|
|
|
// Make sure we don't have anything related to categories rendered
|
|
|
|
|
expect(screen.queryAllByRole('group').length).toBe(0); |
|
|
|
|
expect(screen.getByRole('menuitem', { name: 'Dashboard' })).toBeVisible(); |
|
|
|
|
expect(screen.getByRole('menuitem', { name: 'ML: Forecast' })).toBeVisible(); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should render menu with extensions when "Add" is clicked', async () => { |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" splitted={false} />); |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" />); |
|
|
|
|
|
|
|
|
|
await userEvent.click(screen.getByRole('button', { name: 'Add' })); |
|
|
|
|
|
|
|
|
@ -236,7 +215,7 @@ describe('ToolbarExtensionPoint', () => { |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should render "add to dashboard" action button if one pane is visible', async () => { |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" splitted={false} />); |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" />); |
|
|
|
|
|
|
|
|
|
await waitFor(() => { |
|
|
|
|
const button = screen.getByRole('button', { name: /add to dashboard/i }); |
|
|
|
@ -254,7 +233,7 @@ describe('ToolbarExtensionPoint', () => { |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should not render "add to dashboard" action button', async () => { |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" splitted={false} />); |
|
|
|
|
renderWithExploreStore(<ToolbarExtensionPoint exploreId="left" timeZone="browser" />); |
|
|
|
|
|
|
|
|
|
expect(screen.queryByRole('button', { name: /add to dashboard/i })).not.toBeInTheDocument(); |
|
|
|
|
}); |
|
|
|
|