From cc1e8361917a3eb3fc64774e2561a37cd9e3a143 Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sun, 16 Oct 2022 12:29:33 +0200 Subject: [PATCH] #721 - added selenium test --- .../templates/search/searchMacros.ftl | 4 ++-- .../integration/selenium/SearchTest.java | 24 +++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/BudgetMasterServer/src/main/resources/templates/search/searchMacros.ftl b/BudgetMasterServer/src/main/resources/templates/search/searchMacros.ftl index caf7c3f57..36313a491 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 ca6416c90..e130dec19 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 -- GitLab