From 4d2374498da3140b0ec8a9ed4181c85779fa7fbe Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Sun, 26 Feb 2023 21:17:03 +0100
Subject: [PATCH] #733 - added selenium test

---
 .../integration/selenium/CsvImportTest.java   | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/CsvImportTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/CsvImportTest.java
index 00c217291..2ef244769 100644
--- a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/CsvImportTest.java
+++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/CsvImportTest.java
@@ -519,6 +519,32 @@ class CsvImportTest extends SeleniumTestBase
 		assertRow(rowAfterSave, "green", "2023-01-08", "No category", "dolor sit amet", "dolor sit amet", "-12.00 €");
 	}
 
+	@Test
+	void test_showTransactionNameSuggestions()
+	{
+		uploadAndSetColumnSettings();
+
+		final List<WebElement> rows = driver.findElements(By.className("transaction-import-row"));
+		final WebElement row = rows.get(0);
+
+		// change data
+		final WebElement categorySelect = row.findElement(By.cssSelector(".category-select-wrapper .custom-select"));
+		categorySelect.click();
+		row.findElements(By.cssSelector(".category-select-wrapper .custom-select-item-name")).stream()
+				.filter(webElement -> webElement.getText().equals("sdfdsf"))
+				.findFirst().orElseThrow().click();
+
+		final WebElement nameInput = row.findElement(By.name("name"));
+		nameInput.clear();
+		nameInput.click();
+		nameInput.sendKeys("e");
+
+		final WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
+		wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(".autocomplete-content li")));
+
+		assertThat(driver.findElements(By.cssSelector(".autocomplete-content li"))).hasSize(3);
+	}
+
 	private void uploadAndSetColumnSettings()
 	{
 		driver.get(helper.getUrl() + "/transactionImport");
-- 
GitLab