Skip to content

Commit 9be995c

Browse files
fix(6562): make nav e2e test compatible with IOx (#6576)
* test(navigation): make nav e2e test compatible with IOx * fix(6562): shared/nav test working on iox and tsm, including locally --------- Co-authored-by: wiedld <dlw405@gmail.com>
1 parent 2232590 commit 9be995c

File tree

1 file changed

+84
-58
lines changed

1 file changed

+84
-58
lines changed

cypress/e2e/shared/nav.test.ts

Lines changed: 84 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
import {Organization} from '../../../src/types'
22
const CLOUD = Cypress.env('dexUrl') === 'OSS' ? false : true
33

4-
describe.skip('navigation', () => {
4+
describe('using the main navigation menu', () => {
5+
before(() => {
6+
cy.flush().then(() => cy.signin())
7+
})
8+
59
beforeEach(() => {
6-
cy.flush()
7-
cy.signin()
8-
cy.visit('/')
9-
cy.getByTestID('home-page--header').should('be.visible')
10+
cy.signinWithoutUserReprovision().then(() => {
11+
cy.visit('/')
12+
return cy.getByTestID('home-page--header').should('be.visible')
13+
})
1014
})
1115

1216
it('can navigate to each page from left nav', () => {
@@ -23,17 +27,21 @@ describe.skip('navigation', () => {
2327
cy.clickNavBarItem('nav-item-data-explorer')
2428
cy.getByTestID('data-explorer--header').should('exist')
2529

26-
// Dashboard Index Page
27-
cy.clickNavBarItem('nav-item-dashboards')
28-
cy.getByTestID('empty-dashboards-list').should('exist')
30+
cy.isIoxOrg().then(isIOx => {
31+
if (!isIOx) {
32+
// Dashboard Index Page
33+
cy.clickNavBarItem('nav-item-dashboards')
34+
cy.getByTestID('empty-dashboards-list').should('exist')
2935

30-
// Tasks Index Page
31-
cy.clickNavBarItem('nav-item-tasks')
32-
cy.getByTestID('tasks-page--header').should('exist')
36+
// Tasks Index Page
37+
cy.clickNavBarItem('nav-item-tasks')
38+
cy.getByTestID('tasks-page--header').should('exist')
3339

34-
// Alerts Page
35-
cy.clickNavBarItem('nav-item-alerting')
36-
cy.getByTestID('alerts-page--header').should('exist')
40+
// Alerts Page
41+
cy.clickNavBarItem('nav-item-alerting')
42+
cy.getByTestID('alerts-page--header').should('exist')
43+
}
44+
})
3745

3846
// Settings Page
3947
cy.clickNavBarItem('nav-item-settings')
@@ -135,57 +143,75 @@ describe.skip('navigation', () => {
135143
})
136144
})
137145

138-
const exploreTabs = (tabs: string[]) => {
139-
tabs.forEach(tab => {
140-
cy.getByTestID(`${tab}--tab`).should('be.visible').click()
141-
cy.url().should('contain', tab)
142-
})
143-
}
146+
describe('explore tabs', () => {
147+
const exploreTabs = (tabs: string[]) => {
148+
tabs.forEach(tab => {
149+
cy.getByTestID(`${tab}--tab`).should('be.visible').click()
150+
cy.url().should('contain', tab)
151+
})
152+
}
144153

145-
it('can navigate in tabs of settings page', () => {
146-
cy.getByTestID('nav-item-settings').should('be.visible')
147-
cy.clickNavBarItem('nav-item-settings')
148-
exploreTabs(['templates', 'labels', 'variables'])
149-
})
154+
it('can navigate in tabs of settings page', () => {
155+
cy.isIoxOrg().then(isIox => {
156+
const tabs = isIox
157+
? ['labels', 'secrets']
158+
: ['templates', 'labels', 'variables', 'secrets']
159+
cy.getByTestID('nav-item-settings').should('be.visible')
160+
cy.clickNavBarItem('nav-item-settings')
161+
exploreTabs(tabs)
162+
})
163+
})
150164

151-
it('can navigate in tabs of collapsed alerts page', () => {
152-
cy.getByTestID('nav-item-alerting').should('be.visible')
153-
cy.clickNavBarItem('nav-item-alerting')
154-
;['checks', 'endpoints', 'rules'].forEach(tab => {
155-
cy.getByTestID(`alerting-tab--${tab}`).click()
156-
cy.getByTestID(`alerting-tab--${tab}--input`).should('to.be', 'checked')
165+
it('can navigate in tabs of collapsed alerts page', () => {
166+
cy.isIoxOrg().then(isIox => {
167+
cy.skipOn(isIox)
168+
})
169+
cy.getByTestID('nav-item-alerting').should('be.visible')
170+
cy.clickNavBarItem('nav-item-alerting')
171+
;['checks', 'endpoints', 'rules'].forEach(tab => {
172+
cy.getByTestID(`alerting-tab--${tab}`).click()
173+
cy.getByTestID(`alerting-tab--${tab}--input`).should('to.be', 'checked')
174+
})
157175
})
158176
})
159177

160178
it('can navigate in tabs from maximized left tree nav', () => {
161-
// TODO: check if nav is already maximized
162-
cy.get('.cf-tree-nav--toggle').click({force: true})
163-
;[
164-
'sources',
165-
'buckets',
166-
'telegrafs',
167-
'tokens',
168-
'history',
169-
'variables',
170-
'templates',
171-
'labels',
172-
].forEach(navItem => {
173-
if (navItem === 'history') {
174-
cy.clickNavBarItem('nav-item-alerting')
175-
} else if (
176-
navItem === 'variables' ||
177-
navItem === 'templates' ||
178-
navItem === 'labels'
179-
) {
180-
cy.clickNavBarItem('nav-item-settings')
181-
} else {
182-
cy.clickNavBarItem('nav-item-load-data')
183-
}
179+
cy.isIoxOrg().then(isIox => {
180+
cy.get('.cf-tree-nav--toggle').click({force: true})
181+
182+
const items = isIox
183+
? ['sources', 'buckets', 'telegrafs', 'tokens', 'labels', 'secrets']
184+
: [
185+
'sources',
186+
'buckets',
187+
'telegrafs',
188+
'tokens',
189+
'labels',
190+
'secrets',
191+
'history',
192+
'variables',
193+
'templates',
194+
]
195+
196+
items.forEach(navItem => {
197+
if (navItem === 'history') {
198+
cy.clickNavBarItem('nav-item-alerting')
199+
} else if (
200+
navItem === 'variables' ||
201+
navItem === 'templates' ||
202+
navItem === 'labels' ||
203+
navItem === 'secrets'
204+
) {
205+
cy.clickNavBarItem('nav-item-settings')
206+
} else {
207+
cy.clickNavBarItem('nav-item-load-data')
208+
}
209+
210+
cy.getByTestID(`nav-subitem-${navItem}`).last().click()
211+
cy.url().should('contain', navItem)
212+
})
184213

185-
cy.getByTestID(`nav-subitem-${navItem}`).last().click()
186-
cy.url().should('contain', navItem)
214+
cy.get('.cf-tree-nav--toggle').click()
187215
})
188-
189-
cy.get('.cf-tree-nav--toggle').click()
190216
})
191217
})

0 commit comments

Comments
 (0)