From 08c078b3728ac77db7ab7c4312a626a329631328 Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Thu, 14 Oct 2021 23:09:44 +0200 Subject: [PATCH] Fixed #648 - chart page: fixed display behaviour of filter badge: The filter badge is now correctly displayed if a chart is displayed with active filters and the button to show the chart settings is clicked. --- src/main/resources/static/js/charts.js | 1 + .../integration/selenium/ChartTest.java | 32 ++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/main/resources/static/js/charts.js b/src/main/resources/static/js/charts.js index a1eddfc84..d2f1df785 100644 --- a/src/main/resources/static/js/charts.js +++ b/src/main/resources/static/js/charts.js @@ -115,6 +115,7 @@ $(document).ready(function() document.getElementsByName('NewChartSettings')[0].classList.toggle('hidden', false); document.getElementById('buttonShowChartSettings').classList.toggle('hidden', true); + applyFilter(); checkShowChartButton(); }); diff --git a/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/ChartTest.java b/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/ChartTest.java index 64f265744..df6006fa3 100644 --- a/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/ChartTest.java +++ b/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/ChartTest.java @@ -267,6 +267,36 @@ class ChartTest extends SeleniumTestBase assertThat(driver.findElement(By.id("filterActiveBadge")).isDisplayed()).isFalse(); } + @Test + void test_showFilterBadgeOnShowChartSettings() + { + driver.get(helper.getUrl() + "/charts"); + + final String chartPreviewSelector = ".chart-preview-column[data-id='6']"; + driver.findElement(By.cssSelector(chartPreviewSelector)).click(); + + WebDriverWait wait = new WebDriverWait(driver, 5); + wait.until(ExpectedConditions.attributeContains(By.cssSelector(chartPreviewSelector + " .chart-preview"), "class", "active")); + + driver.findElement(By.id("chart-filter-container")).click(); + driver.findElement(By.id("section-type")).click(); + final WebElement checkBox = driver.findElement(By.cssSelector("#section-type .text-default")); + ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", checkBox); + checkBox.click(); + + driver.findElement(By.name("buttonSave")).click(); + + wait = new WebDriverWait(driver, 5); + wait.until(ExpectedConditions.visibilityOfElementLocated(By.className("chart-canvas"))); + + driver.findElement(By.id("buttonShowChartSettings")).click(); + + wait = new WebDriverWait(driver, 5); + wait.until(ExpectedConditions.attributeContains(By.cssSelector(chartPreviewSelector + " .chart-preview"), "class", "active")); + + assertThat(driver.findElement(By.id("filterActiveBadge")).isDisplayed()).isTrue(); + } + @Test void test_showManageButtonForCustomCharts() { @@ -304,7 +334,7 @@ class ChartTest extends SeleniumTestBase } @Test - void test_EnabledButtonAfterShowChart() + void test_enabledButtonAfterShowChart() { driver.get(helper.getUrl() + "/charts"); -- GitLab