@@ -1813,5 +1813,83 @@ private void testLuceneSearchUI(String sessionId)
18131813 waitForElement (Locator .tagWithText ("span" , "0.029" ));
18141814
18151815 clearFilterDialog ("IMPACT equals HIGH,MODERATE" );
1816+
1817+ testLuceneColumnSerialization (sessionId );
1818+ }
1819+
1820+ private void testLuceneColumnSerializationFirstRow () {
1821+ WebElement locator = TOP_ROW .findElement (getDriver ());
1822+
1823+ for (WebElement elem : locator .findElements (By .xpath ("./child::*" ))) {
1824+ String value = elem .getText ();
1825+ if (StringUtils .trimToNull (value ) == null )
1826+ {
1827+ value = "" ;
1828+ }
1829+
1830+ if (StringUtils .isEmpty (elem .getText ())) {
1831+ return ;
1832+ }
1833+
1834+ switch (elem .getAttribute ("aria-colindex" ))
1835+ {
1836+ case "1" :
1837+ Assert .assertEquals (value , "1" );
1838+ break ;
1839+ case "2" :
1840+ Assert .assertEquals (value , "2" );
1841+ break ;
1842+ case "3" :
1843+ Assert .assertEquals (value , "A" );
1844+ break ;
1845+ case "4" :
1846+ Assert .assertEquals (value , "T" );
1847+ break ;
1848+ case "6" :
1849+ Assert .assertEquals (value , "0.029" );
1850+ break ;
1851+ case "7" :
1852+ Assert .assertEquals (value , "7.292" );
1853+ break ;
1854+ case "8" :
1855+ Assert .assertEquals (value , "HIGH" );
1856+ break ;
1857+ }
1858+ }
1859+ }
1860+
1861+ private void testLuceneColumnSerialization (String sessionId ) {
1862+ beginAt ("/" + getProjectName () + "/jbrowse-jbrowse.view?session=" + sessionId );
1863+ waitAndClick (Locator .tagContainingText ("button" , "Show all regions in assembly" ).withClass ("MuiButtonBase-root" ));
1864+ waitAndClick (Locator .tagWithText ("p" , "No tracks active." ));
1865+ waitAndClick (Locator .tagWithText ("button" , "Open track selector" ));
1866+
1867+ Locator l = Locator .tagWithText ("span" , "TestVCF" ).withClass ("MuiFormControlLabel-label" );
1868+ waitAndClick (l );
1869+ getDriver ().findElement (Locator .tag ("body" )).sendKeys (Keys .ESCAPE ); //close modal
1870+
1871+ openTrackMenuItem ("Variant Search" , true );
1872+ waitAndClick (Locator .tagWithAttribute ("button" , "aria-label" , "Select columns" ));
1873+
1874+ Locator caddScoreToggle = Locator .tagWithAttribute ("input" , "name" , "CADD_PH" );
1875+ waitForElement (caddScoreToggle );
1876+ WebElement parentOfCaddScoreToggle = caddScoreToggle .findElement (getDriver ()).findElement (By .xpath ("./.." ));
1877+ parentOfCaddScoreToggle .click ();
1878+
1879+ String colVisModelString = "%257B%2522contig%2522%253Atrue%252C%2522start%2522%253Atrue%252C%2522ref%2522%253Atrue%252C%2522alt%2522%253Atrue%252C%2522variableSamples%2522%253Atrue%252C%2522AF%2522%253Atrue%252C%2522CADD_PH%2522%253Atrue%252C%2522IMPACT%2522%253Atrue%257D" ;
1880+ Assert .assertEquals (getUrlParam ("colVisModel" ), colVisModelString );
1881+
1882+ getDriver ().navigate ().refresh ();
1883+
1884+ waitForElement (TOP_ROW );
1885+ Assert .assertEquals (getUrlParam ("colVisModel" ), colVisModelString );
1886+ testLuceneColumnSerializationFirstRow ();
1887+
1888+ waitAndClick (Locator .tagWithText ("button" , "Search" ));
1889+ waitAndClick (Locator .tagWithClass ("button" , "filter-form-select-button" ));
1890+
1891+ waitForElement (TOP_ROW );
1892+ Assert .assertEquals (getUrlParam ("colVisModel" ), colVisModelString );
1893+ testLuceneColumnSerializationFirstRow ();
18161894 }
18171895}
0 commit comments