From 3a31f0a6c6327daaa216592b4452ceaaf3e27cd0 Mon Sep 17 00:00:00 2001 From: Bucky Schwarz Date: Tue, 25 Feb 2020 09:39:11 -0800 Subject: [PATCH] test: add e2e test for query builder grouping --- ui/cypress/e2e/queryBuilder.test.ts | 35 +++++++++++++++++++ ui/src/timeMachine/components/TagSelector.tsx | 2 +- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/ui/cypress/e2e/queryBuilder.test.ts b/ui/cypress/e2e/queryBuilder.test.ts index e1032bc2a34..b6a1bc6219b 100644 --- a/ui/cypress/e2e/queryBuilder.test.ts +++ b/ui/cypress/e2e/queryBuilder.test.ts @@ -90,6 +90,41 @@ describe('The Query Builder', () => { }) }) + describe('the group() function', () => { + it('creates a query that has a group() function in it', () => { + cy.get('@org').then((org: Organization) => { + cy.visit(`orgs/${org.id}/data-explorer`) + }) + + cy.contains('mem').click('left') + cy.getByTestID('builder-card') + .last() + .contains('Filter') + .click() + .get('.cf-dropdown--menu-container') + .contains('group') + .click() + + const groupableColums = [] + + cy.getByTestID('builder-card') + .last() + .then($lastBuilderCard => { + $lastBuilderCard.find('.selector-list--item').each((index, $item) => { + groupableColums.push($item.innerHTML) + }) + + expect(groupableColums).to.eql([ + '_start', + '_stop', + '_time', + '_measurement', + '_field', + ]) + }) + }) + }) + // This is flaky in prod // https://circleci.com/gh/influxdata/influxdb/74628#artifacts/containers/0 describe.skip('from the Dashboard view', () => { diff --git a/ui/src/timeMachine/components/TagSelector.tsx b/ui/src/timeMachine/components/TagSelector.tsx index fcc413d7b7c..ac8ec4061a6 100644 --- a/ui/src/timeMachine/components/TagSelector.tsx +++ b/ui/src/timeMachine/components/TagSelector.tsx @@ -48,7 +48,7 @@ import { const SEARCH_DEBOUNCE_MS = 500 -// We don't show these columns in results but they're able to be grouped on +// We don't show these columns in results but they're able to be grouped on for most queries const ADDITIONAL_GROUP_BY_COLUMNS = ['_start', '_stop', '_time'] interface StateProps {