Skip to content

Commit 1dbf0c2

Browse files
authored
fix: stop-using-index-to-access-update-segment (#5960)
1 parent bac797a commit 1dbf0c2

File tree

2 files changed

+21
-6
lines changed

2 files changed

+21
-6
lines changed

frontend/e2e/helpers.cafe.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,15 @@ export const waitForElementClickable = async (selector: string) => {
6666
await t.expect(Selector(selector).hasAttribute('disabled')).notOk()
6767
}
6868

69+
export const clickSegmentByName = async (name: string) => {
70+
const el = Selector('[data-test^="segment-"][data-test$="-name"]').withText(
71+
name,
72+
)
73+
await t.scrollIntoView(el)
74+
await t.expect(el.visible).ok(`segment "${name}" not visible`, { timeout: LONG_TIMEOUT })
75+
await t.click(el)
76+
}
77+
6978
export const logResults = async (requests: LoggedRequest[], t) => {
7079
if (!t.testRun?.errs?.length) {
7180
log('Finished without errors')
@@ -78,7 +87,8 @@ export const logResults = async (requests: LoggedRequest[], t) => {
7887
requests.filter((v) => {
7988
if (
8089
v.request?.url?.includes('get-subscription-metadata') ||
81-
v.request?.url?.includes('analytics/flags')
90+
v.request?.url?.includes('analytics/flags') ||
91+
v.request?.url?.includes('/usage-data?')
8292
) {
8393
return false
8494
}
@@ -132,6 +142,7 @@ export const clickByText = async (text: string, element = 'button') => {
132142

133143
export const gotoSegments = async () => {
134144
await click('#segments-link')
145+
await waitForElementVisible(byId('show-create-segment-btn'))
135146
}
136147

137148
export const getLogger = () =>

frontend/e2e/tests/segment-test.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import {
2828
cloneSegment,
2929
setSegmentRule,
3030
assertInputValue,
31+
clickSegmentByName,
3132
} from '../helpers.cafe'
3233
import { E2E_USER, PASSWORD } from '../config'
3334

@@ -145,19 +146,22 @@ export const testSegment1 = async (flagsmith: any) => {
145146
await deleteFeature(0, 'mv_flag')
146147

147148
log('Update segment')
149+
const SEGMENT_TO_UPDATE_NAME = 'segment_to_update'
148150
await gotoSegments()
149151
const lastRule = segmentRules[segmentRules.length - 1]
150-
await createSegment(0, 'segment_to_update', [lastRule])
152+
await createSegment(0, SEGMENT_TO_UPDATE_NAME, [lastRule])
151153
await closeModal()
152-
await click(byId('segment-0-name'))
154+
await waitAndRefresh()
155+
await clickSegmentByName(SEGMENT_TO_UPDATE_NAME)
153156
await setSegmentRule(0, 0, lastRule.name, lastRule.operator, lastRule.value + 1)
154157
await click(byId('update-segment'))
155158
await closeModal()
156-
await gotoSegments()
157-
await click(byId('segment-0-name'))
159+
await waitAndRefresh()
160+
await clickSegmentByName(SEGMENT_TO_UPDATE_NAME)
158161
await assertInputValue(byId(`rule-${0}-value-0`), `${lastRule.value + 1}`)
159162
await closeModal()
160-
await deleteSegment(0, 'segment_to_update', !isCloneSegmentEnabled)
163+
await waitAndRefresh()
164+
await deleteSegment(0, SEGMENT_TO_UPDATE_NAME, !isCloneSegmentEnabled)
161165
await waitAndRefresh()
162166
}
163167

0 commit comments

Comments
 (0)