Skip to content

Commit

Permalink
fix e2e tests
Browse files Browse the repository at this point in the history
  • Loading branch information
kne42 committed Sep 30, 2024
1 parent 4db5524 commit bd222ba
Show file tree
Hide file tree
Showing 4 changed files with 105 additions and 90 deletions.
53 changes: 28 additions & 25 deletions frontend/packages/data-portal/e2e/browseDatasetFilters.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@ import { FiltersPage } from 'e2e/pageObjects/filters/filtersPage'
import { serializeAvailableFiles } from 'e2e/pageObjects/filters/utils'

import { QueryParams } from 'app/constants/query'
import { ObjectShapeType } from 'app/types/shapeTypes'
import { getPrefixedId } from 'app/utils/idPrefixes'

import { getApolloClient } from './apollo'
import { BROWSE_DATASETS_URL, E2E_CONFIG, translations } from './constants'
import { onlyRunIfEnabled } from './utils'
import { getObjectShapeTypeLabel, onlyRunIfEnabled } from './utils'

test.describe('Browse datasets page filters', () => {
let client: ApolloClient<NormalizedCacheObject>
Expand Down Expand Up @@ -1156,17 +1157,16 @@ test.describe('Browse datasets page filters', () => {
getPrefixedId(E2E_CONFIG.depositionId, QueryParams.DepositionId),
)

// TODO: (kne42) uncomment when hooked up to backend
// await filtersActor.expectDataAndDatasetsTableToMatch({
// client,
// url: BROWSE_DATASETS_URL,
// queryParamsList: [
// {
// queryParamKey: QueryParams.DepositionId,
// queryParamValue: E2E_CONFIG.depositionId,
// },
// ],
// })
await filtersActor.expectDataAndDatasetsTableToMatch({
client,
url: BROWSE_DATASETS_URL,
queryParamsList: [
{
queryParamKey: QueryParams.DepositionId,
queryParamValue: E2E_CONFIG.depositionId,
},
],
})
})
test('should filter when opening URL', async () => {
await filtersActor.goToFilteredUrl({
Expand All @@ -1183,17 +1183,16 @@ test.describe('Browse datasets page filters', () => {
getPrefixedId(E2E_CONFIG.depositionId, QueryParams.DepositionId),
)

// TODO: (kne42) uncomment when hooked up to backend
// await filtersActor.expectDataAndDatasetsTableToMatch({
// client,
// url: BROWSE_DATASETS_URL,
// queryParamsList: [
// {
// queryParamKey: QueryParams.DepositionId,
// queryParamValue: E2E_CONFIG.depositionId,
// },
// ],
// })
await filtersActor.expectDataAndDatasetsTableToMatch({
client,
url: BROWSE_DATASETS_URL,
queryParamsList: [
{
queryParamKey: QueryParams.DepositionId,
queryParamValue: E2E_CONFIG.depositionId,
},
],
})
})
test('should disable filter when deselecting', async () => {
await filtersActor.goToFilteredUrl({
Expand Down Expand Up @@ -2485,7 +2484,9 @@ test.describe('Browse datasets page filters', () => {

await filtersActor.addSingleSelectFilter({
label: translations.objectShapeType,
value: E2E_CONFIG.objectShapeType,
value: getObjectShapeTypeLabel(
E2E_CONFIG.objectShapeType as ObjectShapeType,
),
})

await filtersActor.expectUrlQueryParamsToBeCorrect({
Expand Down Expand Up @@ -2542,7 +2543,9 @@ test.describe('Browse datasets page filters', () => {
],
})

await filtersPage.removeFilterOption(E2E_CONFIG.objectShapeType)
await filtersPage.removeFilterOption(
getObjectShapeTypeLabel(E2E_CONFIG.objectShapeType as ObjectShapeType),
)

await filtersActor.expectUrlQueryParamsToBeCorrect({
url: BROWSE_DATASETS_URL,
Expand Down
53 changes: 27 additions & 26 deletions frontend/packages/data-portal/e2e/singleDatasetFilters.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@ import { FiltersActor } from 'e2e/pageObjects/filters/filtersActor'
import { FiltersPage } from 'e2e/pageObjects/filters/filtersPage'

import { QueryParams } from 'app/constants/query'
import { ObjectShapeType } from 'app/types/shapeTypes'
import { getPrefixedId } from 'app/utils/idPrefixes'

import { getApolloClient } from './apollo'
import { E2E_CONFIG, SINGLE_DATASET_URL, translations } from './constants'
import { onlyRunIfEnabled } from './utils'
import { getObjectShapeTypeLabel, onlyRunIfEnabled } from './utils'

test.describe('Single dataset page filters', () => {
let client: ApolloClient<NormalizedCacheObject>
Expand Down Expand Up @@ -137,18 +138,17 @@ test.describe('Single dataset page filters', () => {
getPrefixedId(E2E_CONFIG.depositionId, QueryParams.DepositionId),
)

// TODO: (kne42) uncomment this when hooked up to backend
// await filtersActor.expectDataAndRunsTableToMatch({
// client,
// id: +E2E_CONFIG.datasetId,
// url: SINGLE_DATASET_URL,
// queryParamsList: [
// {
// queryParamKey: QueryParams.DepositionId,
// queryParamValue: E2E_CONFIG.depositionId,
// },
// ],
// })
await filtersActor.expectDataAndRunsTableToMatch({
client,
id: +E2E_CONFIG.datasetId,
url: SINGLE_DATASET_URL,
queryParamsList: [
{
queryParamKey: QueryParams.DepositionId,
queryParamValue: E2E_CONFIG.depositionId,
},
],
})
})
test('should filter by deposition ID when opening URL', async () => {
await filtersActor.goToFilteredUrl({
Expand All @@ -165,18 +165,17 @@ test.describe('Single dataset page filters', () => {
getPrefixedId(E2E_CONFIG.depositionId, QueryParams.DepositionId),
)

// TODO: (kne42) uncomment this when hooked up to backend
// await filtersActor.expectDataAndRunsTableToMatch({
// client,
// id: +E2E_CONFIG.datasetId,
// url: SINGLE_DATASET_URL,
// queryParamsList: [
// {
// queryParamKey: QueryParams.DepositionId,
// queryParamValue: E2E_CONFIG.depositionId,
// },
// ],
// })
await filtersActor.expectDataAndRunsTableToMatch({
client,
id: +E2E_CONFIG.datasetId,
url: SINGLE_DATASET_URL,
queryParamsList: [
{
queryParamKey: QueryParams.DepositionId,
queryParamValue: E2E_CONFIG.depositionId,
},
],
})
})
test('should remove filter when deselecting', async () => {
await filtersActor.goToFilteredUrl({
Expand Down Expand Up @@ -371,7 +370,9 @@ test.describe('Single dataset page filters', () => {
],
})

await filtersPage.removeFilterOption(E2E_CONFIG.objectShapeType)
await filtersPage.removeFilterOption(
getObjectShapeTypeLabel(E2E_CONFIG.objectShapeType as ObjectShapeType),
)

await filtersActor.expectUrlQueryParamsToBeCorrect({
url: SINGLE_DATASET_URL,
Expand Down
75 changes: 36 additions & 39 deletions frontend/packages/data-portal/e2e/singleRunFilters.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@ import { FiltersActor } from 'e2e/pageObjects/filters/filtersActor'
import { FiltersPage } from 'e2e/pageObjects/filters/filtersPage'

import { QueryParams } from 'app/constants/query'
import { ObjectShapeType } from 'app/types/shapeTypes'
import { getPrefixedId } from 'app/utils/idPrefixes'

import { getApolloClient } from './apollo'
import { E2E_CONFIG, SINGLE_RUN_URL, translations } from './constants'
import { onlyRunIfEnabled } from './utils'
import { getObjectShapeTypeLabel, onlyRunIfEnabled } from './utils'

test.describe('Single run page filters', () => {
let client: ApolloClient<NormalizedCacheObject>
Expand Down Expand Up @@ -242,18 +243,17 @@ test.describe('Single run page filters', () => {
getPrefixedId(E2E_CONFIG.depositionId, QueryParams.DepositionId),
)

// TODO: (kne42) uncomment when hooked up to backend
// await filtersActor.expectDataAndAnnotationsTableToMatch({
// client,
// id: +E2E_CONFIG.runId,
// url: SINGLE_RUN_URL,
// queryParamsList: [
// {
// queryParamKey: QueryParams.DepositionId,
// queryParamValue: E2E_CONFIG.depositionId,
// },
// ],
// })
await filtersActor.expectDataAndAnnotationsTableToMatch({
client,
id: +E2E_CONFIG.runId,
url: SINGLE_RUN_URL,
queryParamsList: [
{
queryParamKey: QueryParams.DepositionId,
queryParamValue: E2E_CONFIG.depositionId,
},
],
})
})
test('should filter when opening URL', async () => {
await filtersActor.goToFilteredUrl({
Expand All @@ -270,18 +270,17 @@ test.describe('Single run page filters', () => {
getPrefixedId(E2E_CONFIG.depositionId, QueryParams.DepositionId),
)

// TODO: (kne42) uncomment when hooked up to backend
// await filtersActor.expectDataAndAnnotationsTableToMatch({
// client,
// id: +E2E_CONFIG.runId,
// url: SINGLE_RUN_URL,
// queryParamsList: [
// {
// queryParamKey: QueryParams.DepositionId,
// queryParamValue: E2E_CONFIG.depositionId,
// },
// ],
// })
await filtersActor.expectDataAndAnnotationsTableToMatch({
client,
id: +E2E_CONFIG.runId,
url: SINGLE_RUN_URL,
queryParamsList: [
{
queryParamKey: QueryParams.DepositionId,
queryParamValue: E2E_CONFIG.depositionId,
},
],
})
})
test('should remove filter when deselecting', async () => {
await filtersActor.goToFilteredUrl({
Expand All @@ -308,18 +307,12 @@ test.describe('Single run page filters', () => {
],
})

// TODO: (kne42) uncomment when hooked up to backend
// await filtersActor.expectDataAndAnnotationsTableToMatch({
// client,
// id: +E2E_CONFIG.runId,
// url: SINGLE_RUN_URL,
// queryParamsList: [
// {
// queryParamKey: QueryParams.DepositionId,
// queryParamValue: E2E_CONFIG.depositionId,
// },
// ],
// })
await filtersActor.expectDataAndAnnotationsTableToMatch({
client,
id: +E2E_CONFIG.runId,
url: SINGLE_RUN_URL,
queryParamsList: [],
})
})
})
test.describe('Object Name filter', () => {
Expand Down Expand Up @@ -517,7 +510,9 @@ test.describe('Single run page filters', () => {

await filtersActor.addSingleSelectFilter({
label: translations.objectShapeType,
value: E2E_CONFIG.objectShapeType,
value: getObjectShapeTypeLabel(
E2E_CONFIG.objectShapeType as ObjectShapeType,
),
})

await filtersActor.expectUrlQueryParamsToBeCorrect({
Expand Down Expand Up @@ -578,7 +573,9 @@ test.describe('Single run page filters', () => {
],
})

await filtersPage.removeFilterOption(E2E_CONFIG.objectShapeType)
await filtersPage.removeFilterOption(
getObjectShapeTypeLabel(E2E_CONFIG.objectShapeType as ObjectShapeType),
)

await filtersActor.expectUrlQueryParamsToBeCorrect({
url: SINGLE_RUN_URL,
Expand Down
14 changes: 14 additions & 0 deletions frontend/packages/data-portal/e2e/utils.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
import { test } from '@playwright/test'

import { shapeTypeToI18nKey } from 'app/constants/objectShapeTypes'
import { ObjectShapeType } from 'app/types/shapeTypes'
import { FeatureFlagKey, getFeatureFlag } from 'app/utils/featureFlags'

import { translations } from './constants'

export function onlyRunIfEnabled(key: FeatureFlagKey) {
const isEnabled = getFeatureFlag({
key,
Expand All @@ -11,3 +15,13 @@ export function onlyRunIfEnabled(key: FeatureFlagKey) {
// eslint-disable-next-line playwright/no-skipped-test
test.skip(!isEnabled, `Skipping because feature ${key} is disabled`)
}

type ObjectShapeTranslationType = Pick<
typeof translations,
'instanceSegmentation' | 'orientedPoint' | 'point' | 'segmentationMask'
>

export function getObjectShapeTypeLabel(shapeType: ObjectShapeType): string {
const key = shapeTypeToI18nKey.get(shapeType)
return key ? translations[key as keyof ObjectShapeTranslationType] : ''
}

0 comments on commit bd222ba

Please sign in to comment.