Skip to content

Commit 0f4672b

Browse files
authored
fix: e2e test walk through (#3350)
1 parent 97d9ac6 commit 0f4672b

32 files changed

+1554
-1944
lines changed

cypress/e2e/cloud/pinned.test.ts

Lines changed: 59 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,16 @@ import {Organization} from '../../../src/types'
33
describe('Pinned Items', () => {
44
let orgID: string
55
beforeEach(() => {
6-
cy.flush().then(() =>
7-
cy.signin().then(() =>
8-
cy.fixture('routes').then(() => {
9-
cy.get('@org').then(({id}: any) => {
10-
orgID = id
11-
cy.setFeatureFlags({
12-
pinnedItems: true,
13-
docSearchWidget: true,
14-
}).then(() => {
15-
cy.getByTestID('tree-nav')
16-
})
17-
})
18-
})
19-
)
20-
)
6+
cy.flush()
7+
cy.signin()
8+
cy.get('@org').then(({id}: any) => {
9+
orgID = id
10+
cy.setFeatureFlags({
11+
pinnedItems: true,
12+
docSearchWidget: true,
13+
})
14+
cy.getByTestID('tree-nav')
15+
})
2116
})
2217

2318
it('renders a pinned items modal in the homepage with initial empty state', () => {
@@ -29,15 +24,13 @@ describe('Pinned Items', () => {
2924

3025
describe('Pin dashboard tests', () => {
3126
beforeEach(() => {
32-
cy.createDashboard(orgID).then(() => {
33-
cy.setFeatureFlags({
34-
pinnedItems: true,
35-
docSearchWidget: true,
36-
}).then(() => {
37-
cy.getByTestID('nav-item-dashboards').should('be.visible')
38-
cy.getByTestID('nav-item-dashboards').click()
39-
})
27+
cy.createDashboard(orgID)
28+
cy.setFeatureFlags({
29+
pinnedItems: true,
30+
docSearchWidget: true,
4031
})
32+
cy.getByTestID('nav-item-dashboards').should('be.visible')
33+
cy.getByTestID('nav-item-dashboards').click()
4134
})
4235
it('pins a dashboard to the homepage for easy access as a pinned item', () => {
4336
cy.getByTestID('dashboard-card')
@@ -131,23 +124,21 @@ describe('Pinned Items', () => {
131124
describe('Pin task tests', () => {
132125
let taskName: string
133126
beforeEach(() => {
134-
cy.flush().then(() =>
135-
cy.signin().then(() => {
136-
cy.get('@org').then(({id: orgID}: Organization) =>
137-
cy
138-
.createToken(orgID, 'test token', 'active', [
139-
{action: 'write', resource: {type: 'views', orgID}},
140-
{action: 'write', resource: {type: 'documents', orgID}},
141-
{action: 'write', resource: {type: 'tasks', orgID}},
142-
])
143-
.then(({body}) => {
144-
cy.wrap(body.token).as('token')
145-
cy.getByTestID('tree-nav')
146-
cy.visit(`/orgs/${orgID}/tasks`)
147-
cy.getByTestID('tree-nav')
148-
})
149-
)
150-
})
127+
cy.flush()
128+
cy.signin()
129+
cy.get('@org').then(({id: orgID}: Organization) =>
130+
cy
131+
.createToken(orgID, 'test token', 'active', [
132+
{action: 'write', resource: {type: 'views', orgID}},
133+
{action: 'write', resource: {type: 'documents', orgID}},
134+
{action: 'write', resource: {type: 'tasks', orgID}},
135+
])
136+
.then(({body}) => {
137+
cy.wrap(body.token).as('token')
138+
cy.getByTestID('tree-nav')
139+
cy.visit(`/orgs/${orgID}/tasks`)
140+
cy.getByTestID('tree-nav')
141+
})
151142
)
152143

153144
taskName = 'Task'
@@ -165,10 +156,8 @@ from(bucket: "${name}"{rightarrow}
165156
cy.getByTestID('task-card')
166157
.first()
167158
.trigger('mouseover')
168-
.then(() => {
169-
cy.getByTestID('context-menu-task').click()
170-
cy.getByTestID('context-pin-task').click()
171-
})
159+
cy.getByTestID('context-menu-task').click()
160+
cy.getByTestID('context-pin-task').click()
172161
})
173162

174163
it('can pin a task to the homepage', () => {
@@ -206,17 +195,9 @@ from(bucket: "${name}"{rightarrow}
206195
})
207196

208197
it('unpins when the underlying resource is removed', () => {
209-
cy.getByTestID('task-card')
210-
.first()
211-
.then(() => {
212-
cy.getByTestID(`context-delete-menu ${taskName}--button`)
213-
.click()
214-
.then(() => {
215-
cy.getByTestID(
216-
`context-delete-menu ${taskName}--confirm-button`
217-
).click()
218-
})
219-
})
198+
cy.getByTestID('task-card').first()
199+
cy.getByTestID(`context-delete-menu ${taskName}--button`).click()
200+
cy.getByTestID(`context-delete-menu ${taskName}--confirm-button`).click()
220201

221202
cy.visit('/')
222203
cy.getByTestID('tree-nav')
@@ -231,31 +212,30 @@ from(bucket: "${name}"{rightarrow}
231212
beforeEach(() => {
232213
cy.setFeatureFlags({
233214
pinnedItems: true,
234-
}).then(() => {
235-
cy.getByTestID('nav-item-flows').should('be.visible')
236-
cy.clickNavBarItem('nav-item-flows')
237-
const now = Date.now()
238-
cy.writeData(
239-
[
240-
`test,container_name=cool dopeness=12 ${now - 1000}000000`,
241-
`test,container_name=beans dopeness=18 ${now - 1200}000000`,
242-
`test,container_name=cool dopeness=14 ${now - 1400}000000`,
243-
`test,container_name=beans dopeness=10 ${now - 1600}000000`,
244-
],
245-
'defbuck'
246-
)
247-
cy.getByTestID('preset-new')
248-
.first()
249-
.click()
250-
251-
cy.getByTestID('time-machine-submit-button').should('be.visible')
252-
cy.getByTestID('page-title').click()
253-
cy.getByTestID('renamable-page-title--input')
254-
.clear()
255-
.type('Flow')
256-
.type('{enter}')
257-
cy.visit(`/orgs/${orgID}/notebooks`)
258215
})
216+
cy.getByTestID('nav-item-flows').should('be.visible')
217+
cy.clickNavBarItem('nav-item-flows')
218+
const now = Date.now()
219+
cy.writeData(
220+
[
221+
`test,container_name=cool dopeness=12 ${now - 1000}000000`,
222+
`test,container_name=beans dopeness=18 ${now - 1200}000000`,
223+
`test,container_name=cool dopeness=14 ${now - 1400}000000`,
224+
`test,container_name=beans dopeness=10 ${now - 1600}000000`,
225+
],
226+
'defbuck'
227+
)
228+
cy.getByTestID('preset-new')
229+
.first()
230+
.click()
231+
232+
cy.getByTestID('time-machine-submit-button').should('be.visible')
233+
cy.getByTestID('page-title').click()
234+
cy.getByTestID('renamable-page-title--input')
235+
.clear()
236+
.type('Flow')
237+
.type('{enter}')
238+
cy.visit(`/orgs/${orgID}/notebooks`)
259239
})
260240

261241
it('pins a notebook to the homepage', () => {

cypress/e2e/shared/about.test.ts

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
import {Organization} from '../../../src/types'
22

33
describe('About Page', () => {
4-
beforeEach(() =>
5-
cy.flush().then(() =>
6-
cy.signin().then(() => {
7-
cy.get('@org').then(({id}: Organization) => {
8-
cy.visit(`/orgs/${id}/about`)
9-
cy.getByTestID('about-page--header').should('be.visible')
10-
})
11-
})
12-
)
13-
)
4+
beforeEach(() => {
5+
cy.flush()
6+
cy.signin()
7+
8+
cy.get('@org').then((org: Organization) => {
9+
cy.visit(`/orgs/${org.id}/about`)
10+
cy.getByTestID('about-page--header').should('be.visible')
11+
})
12+
})
1413

1514
it('should display everything correctly', () => {
1615
cy.getByTestID('common-ids--panel').within(() => {

cypress/e2e/shared/annotations.range.test.ts

Lines changed: 40 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,7 @@ describe('Annotations, but in a different test suite', () => {
8484
.invoke('val', EDIT_ANNOTATION_TEXT)
8585
.focused()
8686
.type('.')
87-
.then(() => {
88-
cy.getByTestID('edit-annotation-cancel-button').click()
89-
})
87+
cy.getByTestID('edit-annotation-cancel-button').click()
9088

9189
cy.getByTestID('annotation-message--form').should('not.exist')
9290

@@ -222,54 +220,52 @@ describe('Annotations, but in a different test suite', () => {
222220
.invoke('val', RANGE_ANNOTATION_TEXT)
223221
.focused()
224222
.type('.')
225-
.then(() => {
226-
// should be of type 'point'
227-
cy.getByTestID('annotation-form-point-type-option--input').should(
228-
'be.checked'
229-
)
223+
// should be of type 'point'
224+
cy.getByTestID('annotation-form-point-type-option--input').should(
225+
'be.checked'
226+
)
230227

231-
// confirm that the 'endTime' input is NOT THERE
232-
cy.getByTestID('endTime-testID').should('not.exist')
228+
// confirm that the 'endTime' input is NOT THERE
229+
cy.getByTestID('endTime-testID').should('not.exist')
233230

234-
// now: click the button to switch to range:
235-
cy.getByTestID('annotation-form-range-type-option')
236-
.should($el => {
237-
expect($el).not.to.have.class('cf-select-group--option__active')
238-
expect(Cypress.dom.isDetached($el)).to.be.false
239-
expect($el).to.have.length(1)
240-
})
241-
.click()
231+
// now: click the button to switch to range:
232+
cy.getByTestID('annotation-form-range-type-option')
233+
.should($el => {
234+
expect($el).not.to.have.class('cf-select-group--option__active')
235+
expect(Cypress.dom.isDetached($el)).to.be.false
236+
expect($el).to.have.length(1)
237+
})
238+
.click()
242239

243-
// now, the end time input SHOULD show up
244-
cy.getByTestID('endTime-testID').should('be.visible')
240+
// now, the end time input SHOULD show up
241+
cy.getByTestID('endTime-testID').should('be.visible')
245242

246-
// at first the two times are equal; check that; then upgrade the time by 10 minutes; and save it
247-
cy.getByTestID('startTime-testID')
243+
// at first the two times are equal; check that; then upgrade the time by 10 minutes; and save it
244+
cy.getByTestID('startTime-testID')
245+
.invoke('val')
246+
.then(startTimeValue => {
247+
cy.getByTestID('endTime-testID')
248248
.invoke('val')
249-
.then(startTimeValue => {
249+
.then(endTimeValue => {
250+
expect(endTimeValue).to.equal(startTimeValue)
251+
252+
const newEndTime = moment(endTimeValue, DEFAULT_TIME_FORMAT)
253+
.add(10, 'minutes')
254+
.format(DEFAULT_TIME_FORMAT)
255+
250256
cy.getByTestID('endTime-testID')
251-
.invoke('val')
252-
.then(endTimeValue => {
253-
expect(endTimeValue).to.equal(startTimeValue)
254-
255-
const newEndTime = moment(endTimeValue, DEFAULT_TIME_FORMAT)
256-
.add(10, 'minutes')
257-
.format(DEFAULT_TIME_FORMAT)
258-
259-
cy.getByTestID('endTime-testID')
260-
.click()
261-
.focused()
262-
.clear()
263-
.type(newEndTime)
264-
265-
cy.getByTestID('annotation-submit-button')
266-
.should($el => {
267-
expect($el).to.have.length(1)
268-
expect(Cypress.dom.isDetached($el)).to.be.false
269-
expect($el).not.to.be.disabled
270-
})
271-
.click()
257+
.click()
258+
.focused()
259+
.clear()
260+
.type(newEndTime)
261+
262+
cy.getByTestID('annotation-submit-button')
263+
.should($el => {
264+
expect($el).to.have.length(1)
265+
expect(Cypress.dom.isDetached($el)).to.be.false
266+
expect($el).not.to.be.disabled
272267
})
268+
.click()
273269
})
274270
})
275271

cypress/e2e/shared/buckets.test.ts

Lines changed: 15 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
import {Bucket, Organization} from '../../../src/types'
22

33
describe('Buckets', () => {
4-
beforeEach(() =>
5-
cy.flush().then(() =>
6-
cy.signin().then(() => {
7-
cy.get('@org').then(({id}: Organization) =>
8-
cy.fixture('routes').then(({orgs, buckets}) => {
9-
cy.visit(`${orgs}/${id}${buckets}`)
10-
cy.getByTestID('tree-nav')
11-
})
12-
)
4+
beforeEach(() => {
5+
cy.flush()
6+
cy.signin()
7+
cy.get('@org').then(({id}: Organization) =>
8+
cy.fixture('routes').then(({orgs, buckets}) => {
9+
cy.visit(`${orgs}/${id}${buckets}`)
1310
})
1411
)
15-
)
12+
cy.getByTestID('tree-nav')
13+
})
1614

1715
describe('from the buckets index page', () => {
1816
it('can create a bucket', () => {
@@ -56,11 +54,8 @@ describe('Buckets', () => {
5654
cy.getByInputName('name').type(newBucket)
5755
cy.getByTestID('retention-intervals--button').click()
5856
cy.getByTestID('duration-selector--button').click()
59-
cy.getByTestID('duration-selector--12h')
60-
.click()
61-
.then(() => {
62-
cy.getByTestID('bucket-form-submit').click()
63-
})
57+
cy.getByTestID('duration-selector--12h').click()
58+
cy.getByTestID('bucket-form-submit').click()
6459
})
6560

6661
// assert bucket with retention
@@ -88,9 +83,7 @@ describe('Buckets', () => {
8883
cy.contains('Save').click()
8984
})
9085

91-
cy.get<Bucket>('@bucket').then(() => {
92-
cy.getByTestID(`bucket-retention`).should('contain', '7 days')
93-
})
86+
cy.getByTestID(`bucket-retention`).should('contain', '7 days')
9487
})
9588

9689
it('can delete a bucket', () => {
@@ -272,16 +265,10 @@ describe('Buckets', () => {
272265
})
273266

274267
// filter plugins and choose system
275-
cy.getByTestID('input-field')
276-
.type('sys')
277-
.then(() => {
278-
cy.getByTestID('square-grid--card').should('have.length', 1)
279-
cy.getByTestID('input-field')
280-
.clear()
281-
.then(() => {
282-
cy.getByTestID('square-grid--card').should('have.length', 5)
283-
})
284-
})
268+
cy.getByTestID('input-field').type('sys')
269+
cy.getByTestID('square-grid--card').should('have.length', 1)
270+
cy.getByTestID('input-field').clear()
271+
cy.getByTestID('square-grid--card').should('have.length', 5)
285272
cy.getByTestID('telegraf-plugins--System').click()
286273
cy.getByTestID('next').click()
287274

0 commit comments

Comments
 (0)