diff --git a/e2e/src/selecting/region.prod.e2e-spec.js b/e2e/src/selecting/region.prod.e2e-spec.js new file mode 100644 index 0000000000000000000000000000000000000000..14a10f94c8e59b86b5170d8d6bc0249ad65a819e --- /dev/null +++ b/e2e/src/selecting/region.prod.e2e-spec.js @@ -0,0 +1,39 @@ +const { AtlasPage } = require('../../src/util') +const { height, width } = require('../../opts') + +describe('> selecting regions', () => { + + const duplicatedRegion = { + atlas: 'Multilevel Human Atlas', + template: `ICBM 152 2009c Nonlinear Asymmetric`, + position: [-0.256, 26.028, -11.678] + } + describe(`> when selecting duplicated regions at ${duplicatedRegion.atlas} / ${duplicatedRegion.template} / ${JSON.stringify(duplicatedRegion.position)}`, () => { + it(`> when click, should only select a single region`, async () => { + const newPage = new AtlasPage() + await newPage.init() + await newPage.goto() + await newPage.selectAtlasTemplateParcellation(duplicatedRegion.atlas, duplicatedRegion.template) + await newPage.wait(500) + await newPage.waitForAsync() + await newPage.execScript(`interactiveViewer.viewerHandle.setNavigationLoc(${JSON.stringify(duplicatedRegion.position.map(v => v*1e6))}, true)`) + await newPage.wait(500) + await newPage.cursorMoveTo({ + position: [ width * 3 / 4, height / 4 ] + }) + await newPage.wait(500) + const txt = await newPage.getText(`[floatingMouseContextualContainerDirective]`) + expect(txt.indexOf(`left`)).toBeGreaterThanOrEqual(0) + expect(txt.indexOf(`right`)).toBeGreaterThanOrEqual(0) + + await newPage.cursorMoveToAndClick({ + position: [width * 3 / 4, height / 4] + }) + await newPage.wait(500) + await newPage.waitForAsync() + const visible = await newPage.areVisible(`region-menu`) + expect(visible.length).toEqual(1) + + }) + }) +}) diff --git a/src/atlasViewer/atlasViewer.component.ts b/src/atlasViewer/atlasViewer.component.ts index 1f656a997099789e1bc3c06e1ea8189e4741881a..2cb42747ee6e835178689992567c8411acf22b57 100644 --- a/src/atlasViewer/atlasViewer.component.ts +++ b/src/atlasViewer/atlasViewer.component.ts @@ -435,7 +435,7 @@ export class AtlasViewer implements OnDestroy, OnInit, AfterViewInit { if (!this.onhoverSegments) return this.store.dispatch( viewerStateSetSelectedRegions({ - selectRegions: this.onhoverSegments + selectRegions: this.onhoverSegments.slice(0, 1) }) ) }