From c28b80f2bac103b24a92e43c552f64de7a3d3b80 Mon Sep 17 00:00:00 2001 From: Ivana Huckova Date: Tue, 15 Feb 2022 20:39:36 +0100 Subject: [PATCH] Add test --- .../querybuilder/shared/LabelFilters.test.tsx | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) 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() {