@@ -1505,6 +1505,13 @@ private void testVariantTableComparators() throws Exception {
15051505 waitAndClick (Locator .tagWithAttributeContaining ("button" , "aria-label" , "Show filters" ));
15061506 }
15071507
1508+ private void clearFilterDialog (String filter_text ) {
1509+ waitForElement (Locator .tagWithText ("button" , filter_text )).click ();
1510+ waitForElement (Locator .tagWithText ("button" , "Remove Filter" )).click ();
1511+ waitAndClick (Locator .tagWithText ("button" , "Search" ).index (1 ));
1512+ waitForElement (Locator .tagWithText ("span" , "2" ));
1513+ }
1514+
15081515 private void testLuceneSearchUI (String sessionId )
15091516 {
15101517 beginAt ("/" + getProjectName () + "/jbrowse-jbrowse.view?session=" + sessionId );
@@ -1530,16 +1537,63 @@ private void testLuceneSearchUI(String sessionId)
15301537
15311538 waitForElement (Locator .tagWithClass ("input" , "MuiInputBase-inputSizeSmall" )).sendKeys ("C" );
15321539
1533- // TODO: index isnt very stable. we need to differentiate the modal button from the grid button bar:
1534- waitAndClick (Locator .tagWithText ("button" , "Search" ).index (1 ));
1540+ waitAndClick (Locator .tagWithClass ("button" , "filter-form-select-button" ));
15351541
15361542 // indicates row is filtered:
15371543 waitForElementToDisappear (Locator .tagWithText ("span" , "2" ));
15381544
1539- // should re-open the dialog
1540- waitForElement (Locator .tagWithText ("button" , "ref equals C" )).click ();
1541- waitForElement (Locator .tagWithText ("button" , "Remove Filter" )).click ();
1542- waitAndClick (Locator .tagWithText ("button" , "Search" ).index (1 ));
1543- waitForElement (Locator .tagWithText ("span" , "2" ));
1545+ clearFilterDialog ("ref equals C" );
1546+
1547+ // VariableSamples variable in m000001
1548+ waitAndClick (Locator .tagWithText ("button" , "Search" ));
1549+ waitForElement (Locator .tagWithAttribute ("div" , "aria-labelledby" , "field-label" )).click ();
1550+ waitForElement (Locator .tagWithText ("li" , "Samples With Variant" )).click ();
1551+ waitForElement (Locator .tagWithAttribute ("div" , "aria-labelledby" , "operator-label" )).click ();
1552+ waitForElement (Locator .tagWithText ("li" , "variable in" )).click ();
1553+ waitForElement (Locator .tagWithId ("input" , "value-select-0" )).sendKeys ("m00001" );
1554+ waitForElement (Locator .tagWithId ("input" , "value-select-0" )).sendKeys (Keys .ENTER );
1555+ waitAndClick (Locator .tagWithClass ("button" , "filter-form-select-button" ));
1556+ waitForElement (Locator .tagWithText ("span" , "0.553" ));
1557+
1558+ clearFilterDialog ("variableSamples variable in m00001" );
1559+
1560+ // VariableSamples li usage + variable in all of
1561+ waitAndClick (Locator .tagWithText ("button" , "Search" ));
1562+ waitForElement (Locator .tagWithAttribute ("div" , "aria-labelledby" , "field-label" )).click ();
1563+ waitForElement (Locator .tagWithText ("li" , "Samples With Variant" )).click ();
1564+ waitForElement (Locator .tagWithAttribute ("div" , "aria-labelledby" , "operator-label" )).click ();
1565+ waitForElement (Locator .tagWithText ("li" , "variable in all of" )).click ();
1566+ waitForElement (Locator .tagWithId ("input" , "value-select-0" )).sendKeys ("m000" );
1567+ waitForElement (Locator .tagWithText ("div" , "m00005" )).click ();
1568+ waitForElement (Locator .tagWithId ("input" , "value-select-0" )).sendKeys ("m000" );
1569+ waitForElement (Locator .tagWithText ("div" , "m00004" )).click ();
1570+ waitAndClick (Locator .tagWithClass ("button" , "filter-form-select-button" ));
1571+ waitForElement (Locator .tagWithText ("span" , "0.3" ));
1572+
1573+ clearFilterDialog ("variableSamples variable in all of m00005,m00004" );
1574+
1575+ // VariableSamples not variable in m05710
1576+ waitAndClick (Locator .tagWithText ("button" , "Search" ));
1577+ waitForElement (Locator .tagWithAttribute ("div" , "aria-labelledby" , "field-label" )).click ();
1578+ waitForElement (Locator .tagWithText ("li" , "Samples With Variant" )).click ();
1579+ waitForElement (Locator .tagWithAttribute ("div" , "aria-labelledby" , "operator-label" )).click ();
1580+ waitForElement (Locator .tagWithText ("li" , "not variable in" )).click ();
1581+ waitForElement (Locator .tagWithId ("input" , "value-select-0" )).sendKeys ("m05710" );
1582+ waitForElement (Locator .tagWithId ("input" , "value-select-0" )).sendKeys (Keys .ENTER );
1583+ waitAndClick (Locator .tagWithClass ("button" , "filter-form-select-button" ));
1584+ waitForElementToDisappear (Locator .tagWithText ("span" , "3.277E-4" ));
1585+
1586+ clearFilterDialog ("variableSamples not variable in m05710" );
1587+
1588+ // samples with variant isEmpty
1589+ waitAndClick (Locator .tagWithText ("button" , "Search" ));
1590+ waitForElement (Locator .tagWithAttribute ("div" , "aria-labelledby" , "field-label" )).click ();
1591+ waitForElement (Locator .tagWithText ("li" , "Samples With Variant" )).click ();
1592+ waitForElement (Locator .tagWithAttribute ("div" , "aria-labelledby" , "operator-label" )).click ();
1593+ waitForElement (Locator .tagWithText ("li" , "is empty" )).click ();
1594+ waitAndClick (Locator .tagWithClass ("button" , "filter-form-select-button" ));
1595+ waitForElementToDisappear (Locator .tagWithText ("span" , "2" ));
1596+
1597+ clearFilterDialog ("variableSamples is empty" );
15441598 }
15451599}
0 commit comments