From 7f2cdd66dbb70f6521e3e7ebd097e477f6bb208e Mon Sep 17 00:00:00 2001 From: Xiao Gui <xgui3783@gmail.com> Date: Thu, 10 Dec 2020 16:06:50 +0100 Subject: [PATCH] feat: checking receptor data --- .../browsingForDatasets.prod.e2e-spec.js | 23 ++++++-- e2e/util/selenium/base.js | 58 +++++++++++-------- .../sideNavView/sDsSideNavView.component.ts | 4 +- .../sideNavView/sDsSideNavView.template.html | 1 + 4 files changed, 55 insertions(+), 31 deletions(-) diff --git a/e2e/src/advanced/browsingForDatasets.prod.e2e-spec.js b/e2e/src/advanced/browsingForDatasets.prod.e2e-spec.js index 99467ad99..56d74d804 100644 --- a/e2e/src/advanced/browsingForDatasets.prod.e2e-spec.js +++ b/e2e/src/advanced/browsingForDatasets.prod.e2e-spec.js @@ -2,6 +2,10 @@ const { AtlasPage } = require('../util') const { CONST, ARIA_LABELS } = require('../../../common/constants') const { retry } = require('../../../common/util') +const { + RECORDING_FLAG +} = process.env + const atlasName = `Multilevel Human Atlas` const templates = [ @@ -83,7 +87,11 @@ describe('> dataset browser', () => { }) afterEach(async () => { - + try { + await iavPage.click(`[aria-label="${ARIA_LABELS.CLOSE}"]`) + } catch (e) { + + } }) for (const [ area, ...rest ] of newShouldHaveReceptor) { it(`> receptor data ${area} should be able to be found`, async () => { @@ -99,10 +107,17 @@ describe('> dataset browser', () => { }) await iavPage.wait(2000) await iavPage.waitUntilAllChunksLoaded() + await iavPage.dismissModal() const datasets = await iavPage.getVisibleDatasets() - const filteredDs = datasets.filter(ds => ds.toLowerCase().indexOf('receptor') >= 0) - expect(filteredDs.length).toBeGreaterThan(0) - + const receptorDsIdx = datasets.findIndex(ds => ds.toLowerCase().indexOf('receptor') >= 0) + expect(receptorDsIdx).toBeGreaterThanOrEqual(0) + + if (RECORDING_FLAG) { + await iavPage.clickNthDataset(receptorDsIdx) + await iavPage.wait(1000) + await iavPage.toggleExpansionPanelState(/receptor/i, true) + await iavPage.wait(5000) + } }) } }) diff --git a/e2e/util/selenium/base.js b/e2e/util/selenium/base.js index ba3859b81..ffc990ab1 100644 --- a/e2e/util/selenium/base.js +++ b/e2e/util/selenium/base.js @@ -47,43 +47,51 @@ class WdBase{ return this._browser.driver } - // without image header - // output as b64 png - async takeScreenshot(cssSelector){ - - if(cssSelector) { - await this._browser.executeAsyncScript(async () => { - const cb = arguments[arguments.length - 1] - const moduleUrl = arguments[0] - const cssSelector = arguments[1] + async highlightElement(cssSelector) { + + await this._browser.executeAsyncScript(async () => { + const cb = arguments[arguments.length - 1] + const moduleUrl = arguments[0] + const cssSelector = arguments[1] + + const el = document.querySelector(cssSelector) + if (!el) throw new Error(`css selector not fetching anything`) + import(moduleUrl) + .then(async m => { + m.citruslight(el) + cb() + }) + }, CITRUS_LIGHT_URL, cssSelector) - const el = document.querySelector(cssSelector) - if (!el) throw new Error(`css selector not fetching anything`) - import(moduleUrl) - .then(async m => { - m.citruslight(el) - cb() - }) - }, CITRUS_LIGHT_URL, cssSelector) - } - await this.wait(1000) - const result = await this._browser.takeScreenshot() - if (cssSelector) { + return async () => { await this._browser.executeAsyncScript(async () => { const cb = arguments[arguments.length - 1] const moduleUrl = arguments[0] - const cssSelector = arguments[1] - const el = document.querySelector(cssSelector) - if (!el) throw new Error(`css selector not fetching anything`) import(moduleUrl) .then(async m => { m.clearAll() cb() }) - }, CITRUS_LIGHT_URL, cssSelector) + }, CITRUS_LIGHT_URL) + } + } + + // without image header + // output as b64 png + async takeScreenshot(cssSelector){ + + let cleanUp + if(cssSelector) { + cleanUp= await this.highlightElement(cssSelector) + } + + const result = await this._browser.takeScreenshot() + + if (cleanUp) { + await cleanUp() } await this.wait(1000) diff --git a/src/ui/databrowserModule/singleDataset/sideNavView/sDsSideNavView.component.ts b/src/ui/databrowserModule/singleDataset/sideNavView/sDsSideNavView.component.ts index d3de2c8a8..fe8eb871c 100644 --- a/src/ui/databrowserModule/singleDataset/sideNavView/sDsSideNavView.component.ts +++ b/src/ui/databrowserModule/singleDataset/sideNavView/sDsSideNavView.component.ts @@ -5,7 +5,7 @@ import { REGION_OF_INTEREST, TRegionOfInterest } from "src/util/interfaces"; import { DatabrowserService } from "../../databrowser.service"; import { KgSingleDatasetService } from "../../kgSingleDatasetService.service"; import { SingleDatasetBase } from "../singleDataset.base"; -import { CONST } from 'common/constants' +import { CONST, ARIA_LABELS } from 'common/constants' @Component({ selector: 'single-dataset-sidenav-view', @@ -17,7 +17,7 @@ import { CONST } from 'common/constants' }) export class SingleDatasetSideNavView extends SingleDatasetBase implements OnChanges, OnDestroy{ - + public BACK_BTN_ARIA_TXT = ARIA_LABELS.CLOSE @Output() clear: EventEmitter<null> = new EventEmitter() diff --git a/src/ui/databrowserModule/singleDataset/sideNavView/sDsSideNavView.template.html b/src/ui/databrowserModule/singleDataset/sideNavView/sDsSideNavView.template.html index 7ad003e91..78daaefed 100644 --- a/src/ui/databrowserModule/singleDataset/sideNavView/sDsSideNavView.template.html +++ b/src/ui/databrowserModule/singleDataset/sideNavView/sDsSideNavView.template.html @@ -1,4 +1,5 @@ <button mat-button + [attr.aria-label]="BACK_BTN_ARIA_TXT" class="position-absolute z-index-10 m-2" (click)="clear.emit()"> <i class="fas fa-chevron-left"></i> -- GitLab