diff --git a/BudgetMasterServer/src/main/resources/templates/search/searchMacros.ftl b/BudgetMasterServer/src/main/resources/templates/search/searchMacros.ftl index caf7c3f5705c4fa46584063c2a85328ca0de144c..36313a491d138c63ed780213b1d46c297f3e97f9 100644 --- a/BudgetMasterServer/src/main/resources/templates/search/searchMacros.ftl +++ b/BudgetMasterServer/src/main/resources/templates/search/searchMacros.ftl @@ -68,7 +68,7 @@ <#macro dateRange search> <div class="row"> - <div class="input-field col s6 m4 offset-m2 l3 offset-l3"> + <div class="input-field col s6 m4 offset-m2 l3 offset-l3" id="search-datepicker-container"> <#if search.getStartDate()??> <#assign startDate = dateService.getLongDateString(search.getStartDate())/> <script> @@ -87,7 +87,7 @@ <label for="search-datepicker">${locale.getString("chart.steps.second.label.start")}</label> </div> - <div class="input-field col s6 m4 l3"> + <div class="input-field col s6 m4 l3" id="search-datepicker-end-container"> <#if search.getEndDate()??> <#assign endDate = dateService.getLongDateString(search.getEndDate())/> <script> diff --git a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/SearchTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/SearchTest.java index ca6416c9071b5a2fd32c7dbe7d6272e060518106..e130dec19c3f6ae26e3c001ac66ed6a36ef8d560 100644 --- a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/SearchTest.java +++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/SearchTest.java @@ -167,4 +167,28 @@ class SearchTest extends SeleniumTestBase assertThat(driver.findElement(By.cssSelector("#globalAccountSelect .global-account-select-name")).getText()) .isEqualTo("sfsdf"); } + + @Test + void dateRange() + { + // select start date + driver.findElement(By.cssSelector("label[for='search-datepicker']")).click(); + WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5)); + wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("#search-datepicker-container .datepicker-modal"))); + driver.findElement(By.cssSelector("#search-datepicker-container button[data-day='" + 2 + "']")).click(); + wait.until(ExpectedConditions.invisibilityOfElementLocated(By.cssSelector("#search-datepicker-container .datepicker-modal"))); + + // select end date + driver.findElement(By.cssSelector("label[for='search-datepicker-end']")).click(); + wait = new WebDriverWait(driver, Duration.ofSeconds(5)); + wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("#search-datepicker-end-container .datepicker-modal"))); + driver.findElement(By.cssSelector("#search-datepicker-end-container button[data-day='" + 15 + "']")).click(); + wait.until(ExpectedConditions.invisibilityOfElementLocated(By.cssSelector("#search-datepicker-end-container .datepicker-modal"))); + + driver.findElement(By.id("button-perform-search")).click(); + + final WebElement headline = driver.findElement(By.className("headline")); + final String expected = Localization.getString("menu.search.results", 0); + assertThat(headline.getText()).isEqualTo(expected); + } } \ No newline at end of file