|
|
|
@ -19,8 +19,6 @@ import { configureStore } from 'app/store/configureStore'; |
|
|
|
|
|
|
|
|
|
import { ShareModal } from '../ShareModal'; |
|
|
|
|
|
|
|
|
|
import { PublicDashboard } from './SharePublicDashboardUtils'; |
|
|
|
|
|
|
|
|
|
const server = setupServer(); |
|
|
|
|
|
|
|
|
|
jest.mock('@grafana/runtime', () => ({ |
|
|
|
@ -162,7 +160,6 @@ describe('SharePublic', () => { |
|
|
|
|
expect(screen.getByTestId(selectors.LimitedDSCheckbox)).toBeDisabled(); |
|
|
|
|
expect(screen.getByTestId(selectors.CostIncreaseCheckbox)).toBeDisabled(); |
|
|
|
|
expect(screen.getByTestId(selectors.EnableSwitch)).toBeDisabled(); |
|
|
|
|
expect(screen.getByTestId(selectors.EnableTimeRangeSwitch)).toBeDisabled(); |
|
|
|
|
expect(screen.getByTestId(selectors.SaveConfigButton)).toBeDisabled(); |
|
|
|
|
expect(screen.queryByTestId(selectors.DeleteButton)).not.toBeInTheDocument(); |
|
|
|
|
}); |
|
|
|
@ -181,7 +178,6 @@ describe('SharePublic', () => { |
|
|
|
|
expect(screen.getByTestId(selectors.LimitedDSCheckbox)).toBeDisabled(); |
|
|
|
|
expect(screen.getByTestId(selectors.CostIncreaseCheckbox)).toBeDisabled(); |
|
|
|
|
expect(screen.getByTestId(selectors.EnableSwitch)).toBeDisabled(); |
|
|
|
|
expect(screen.getByTestId(selectors.EnableTimeRangeSwitch)).toBeDisabled(); |
|
|
|
|
expect(screen.getByTestId(selectors.EnableAnnotationsSwitch)).toBeDisabled(); |
|
|
|
|
expect(screen.getByText('Save public dashboard')).toBeInTheDocument(); |
|
|
|
|
expect(screen.getByTestId(selectors.SaveConfigButton)).toBeDisabled(); |
|
|
|
@ -224,7 +220,6 @@ describe('SharePublic - New config setup', () => { |
|
|
|
|
expect(screen.getByTestId(selectors.CostIncreaseCheckbox)).toBeEnabled(); |
|
|
|
|
expect(screen.getByTestId(selectors.EnableSwitch)).toBeEnabled(); |
|
|
|
|
expect(screen.getByTestId(selectors.EnableAnnotationsSwitch)).toBeEnabled(); |
|
|
|
|
expect(screen.getByTestId(selectors.EnableTimeRangeSwitch)).toBeEnabled(); |
|
|
|
|
expect(screen.queryByTestId(selectors.DeleteButton)).not.toBeInTheDocument(); |
|
|
|
|
|
|
|
|
|
expect(screen.getByText('Create public dashboard')).toBeInTheDocument(); |
|
|
|
@ -259,15 +254,6 @@ describe('SharePublic - New config setup', () => { |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
describe('SharePublic - Already persisted', () => { |
|
|
|
|
const pubdashResponse: PublicDashboard = { |
|
|
|
|
isEnabled: true, |
|
|
|
|
annotationsEnabled: true, |
|
|
|
|
timeSelectionEnabled: true, |
|
|
|
|
uid: 'a-uid', |
|
|
|
|
dashboardUid: '', |
|
|
|
|
accessToken: 'an-access-token', |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
beforeEach(() => { |
|
|
|
|
mockDashboard.meta.hasPublicDashboard = true; |
|
|
|
|
server.use( |
|
|
|
@ -275,8 +261,11 @@ describe('SharePublic - Already persisted', () => { |
|
|
|
|
return res( |
|
|
|
|
ctx.status(200), |
|
|
|
|
ctx.json({ |
|
|
|
|
...pubdashResponse, |
|
|
|
|
isEnabled: true, |
|
|
|
|
annotationsEnabled: true, |
|
|
|
|
uid: 'a-uid', |
|
|
|
|
dashboardUid: req.params.dashboardUid, |
|
|
|
|
accessToken: 'an-access-token', |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
}) |
|
|
|
@ -305,33 +294,6 @@ describe('SharePublic - Already persisted', () => { |
|
|
|
|
expect(screen.getByTestId(selectors.EnableAnnotationsSwitch)).toBeEnabled(); |
|
|
|
|
expect(screen.getByTestId(selectors.EnableAnnotationsSwitch)).toBeChecked(); |
|
|
|
|
}); |
|
|
|
|
it('when modal is opened, then time range switch is enabled and checked when its checked in the db', async () => { |
|
|
|
|
await renderSharePublicDashboard({ panel: mockPanel, dashboard: mockDashboard, onDismiss: () => {} }); |
|
|
|
|
await waitForElementToBeRemoved(screen.getAllByTestId('Spinner')); |
|
|
|
|
|
|
|
|
|
expect(screen.getByTestId(selectors.EnableTimeRangeSwitch)).toBeEnabled(); |
|
|
|
|
expect(screen.getByTestId(selectors.EnableTimeRangeSwitch)).toBeChecked(); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('when modal is opened, then time range switch is enabled and not checked when its not checked in the db', async () => { |
|
|
|
|
server.use( |
|
|
|
|
rest.get('/api/dashboards/uid/:dashboardUid/public-dashboards', (req, res, ctx) => { |
|
|
|
|
return res( |
|
|
|
|
ctx.status(200), |
|
|
|
|
ctx.json({ |
|
|
|
|
...pubdashResponse, |
|
|
|
|
timeSelectionEnabled: false, |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
await renderSharePublicDashboard({ panel: mockPanel, dashboard: mockDashboard, onDismiss: () => {} }); |
|
|
|
|
await waitForElementToBeRemoved(screen.getAllByTestId('Spinner')); |
|
|
|
|
|
|
|
|
|
expect(screen.getByTestId(selectors.EnableTimeRangeSwitch)).toBeEnabled(); |
|
|
|
|
expect(screen.getByTestId(selectors.EnableTimeRangeSwitch)).not.toBeChecked(); |
|
|
|
|
}); |
|
|
|
|
it('when fetch is done, then loader spinner is gone, inputs are disabled and save button is enabled', async () => { |
|
|
|
|
await renderSharePublicDashboard({ panel: mockPanel, dashboard: mockDashboard, onDismiss: () => {} }); |
|
|
|
|
await waitForElementToBeRemoved(screen.getAllByTestId('Spinner')); |
|
|
|
@ -341,7 +303,6 @@ describe('SharePublic - Already persisted', () => { |
|
|
|
|
expect(screen.getByTestId(selectors.CostIncreaseCheckbox)).toBeDisabled(); |
|
|
|
|
|
|
|
|
|
expect(screen.getByTestId(selectors.EnableSwitch)).toBeEnabled(); |
|
|
|
|
expect(screen.getByTestId(selectors.EnableTimeRangeSwitch)).toBeEnabled(); |
|
|
|
|
expect(screen.getByText('Save public dashboard')).toBeInTheDocument(); |
|
|
|
|
expect(screen.getByTestId(selectors.SaveConfigButton)).toBeEnabled(); |
|
|
|
|
expect(screen.getByTestId(selectors.DeleteButton)).toBeEnabled(); |
|
|
|
|