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() {