diff --git a/public/app/plugins/datasource/prometheus/querybuilder/shared/LabelFilters.test.tsx b/public/app/plugins/datasource/prometheus/querybuilder/shared/LabelFilters.test.tsx index b13702c4226..0872aadc47f 100644 --- a/public/app/plugins/datasource/prometheus/querybuilder/shared/LabelFilters.test.tsx +++ b/public/app/plugins/datasource/prometheus/querybuilder/shared/LabelFilters.test.tsx @@ -47,6 +47,18 @@ describe('LabelFilters', () => { userEvent.click(screen.getByLabelText(/remove/)); expect(onChange).toBeCalledWith([]); }); + + it('renders empty input when labels are deleted from outside ', async () => { + const { rerender } = setup([{ label: 'foo', op: '=', value: 'bar' }]); + expect(screen.getByText(/foo/)).toBeInTheDocument(); + expect(screen.getByText(/bar/)).toBeInTheDocument(); + rerender( + + ); + expect(screen.getAllByText(/Choose/)).toHaveLength(2); + expect(screen.getByText(/=/)).toBeInTheDocument(); + expect(getAddButton()).toBeInTheDocument(); + }); }); function setup(labels: QueryBuilderLabelFilter[] = []) { @@ -64,8 +76,8 @@ function setup(labels: QueryBuilderLabelFilter[] = []) { ], }; - render(); - return props; + const { rerender } = render(); + return { ...props, rerender }; } function getAddButton() {