From fe505d0439b68d39918559cf0d5edd004d0d14a7 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Tue, 13 Dec 2022 23:56:58 +0100
Subject: [PATCH] #725 - fixed tests

---
 .../integration/selenium/AccountTest.java     |  2 +-
 .../selenium/DeleteDatabaseTest.java          | 17 +++++++++----
 ...OccurrencesOfRepeatingTransactionTest.java |  2 +-
 .../NewTransactionFromExistingOneTest.java    | 16 ++++++-------
 .../selenium/NewTransactionNormalTest.java    | 24 +++++++++----------
 .../selenium/NewTransactionRecurringTest.java | 12 +++++-----
 .../selenium/NewTransactionTransferTest.java  |  8 +++----
 .../unit/CategoryServiceTest.java             |  4 ++--
 .../unit/TransactionServiceTest.java          |  4 ++--
 .../unit/database/ImportServiceTest.java      |  6 ++---
 .../importer/CategoryImporterTest.java        |  2 +-
 11 files changed, 53 insertions(+), 44 deletions(-)

diff --git a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/AccountTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/AccountTest.java
index 1c0afe926..ba2d97063 100644
--- a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/AccountTest.java
+++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/AccountTest.java
@@ -338,7 +338,7 @@ class AccountTest extends SeleniumTestBase
 		driver.get(helper.getUrl() + "/transactions");
 
 		wait = new WebDriverWait(driver, Duration.ofSeconds(5));
-		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Rest')]")));
+		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Last month balance')]")));
 
 		// assert
 		List<WebElement> transactionsRows = driver.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
diff --git a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/DeleteDatabaseTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/DeleteDatabaseTest.java
index e2aa65b1d..87dd30d74 100644
--- a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/DeleteDatabaseTest.java
+++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/DeleteDatabaseTest.java
@@ -66,15 +66,24 @@ class DeleteDatabaseTest extends SeleniumTestBase
 		TransactionTestHelper.gotoSpecificYearAndMonth(driver, 2022, "March");
 
 		final List<WebElement> transactionDateGroups = driver.findElements(By.className("transaction-date-group"));
-		assertThat(transactionDateGroups).hasSize(1);
+		assertThat(transactionDateGroups).hasSize(2);
 
 		final WebElement dateGroup = transactionDateGroups.get(0);
-		assertThat(dateGroup.findElement(By.className("transaction-date"))).hasFieldOrPropertyWithValue("text", "01. MARCH 2022");
-		final List<WebElement> transactionsInGroup = driver.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
+		assertThat(dateGroup.findElement(By.className("transaction-date"))).hasFieldOrPropertyWithValue("text", "31. MARCH 2022");
+		final List<WebElement> transactionsInGroup = dateGroup.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
 		assertThat(transactionsInGroup).hasSize(1);
 
 		final WebElement transactionRow = transactionsInGroup.get(0);
 		final List<WebElement> columns = transactionRow.findElements(By.className("col"));
-		TransactionTestHelper.assertTransactionColumns(columns, "Rest", "rgb(255, 255, 0)", false, false, "Rest", null, "0.00");
+		TransactionTestHelper.assertTransactionColumns(columns, "Balance", "rgb(255, 255, 0)", false, false, "Balance at end of month", null, "0.00");
+
+		final WebElement dateGroup2 = transactionDateGroups.get(1);
+		assertThat(dateGroup2.findElement(By.className("transaction-date"))).hasFieldOrPropertyWithValue("text", "01. MARCH 2022");
+		final List<WebElement> transactionsInGroup2 = dateGroup2.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
+		assertThat(transactionsInGroup2).hasSize(1);
+
+		final WebElement transactionRow2 = transactionsInGroup2.get(0);
+		final List<WebElement> columns2 = transactionRow2.findElements(By.className("col"));
+		TransactionTestHelper.assertTransactionColumns(columns2, "Balance", "rgb(255, 255, 0)", false, false, "Last month balance", null, "0.00");
 	}
 }
\ No newline at end of file
diff --git a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/EditFutureOccurrencesOfRepeatingTransactionTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/EditFutureOccurrencesOfRepeatingTransactionTest.java
index 242c27c0f..21af9f6b1 100644
--- a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/EditFutureOccurrencesOfRepeatingTransactionTest.java
+++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/EditFutureOccurrencesOfRepeatingTransactionTest.java
@@ -65,7 +65,7 @@ class EditFutureOccurrencesOfRepeatingTransactionTest extends SeleniumTestBase
 		driver.findElement(By.id("button-save-transaction")).click();
 
 		wait = new WebDriverWait(driver, Duration.ofSeconds(5));
-		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Rest')]")));
+		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Last month balance')]")));
 
 		// assert
 		final List<WebElement> transactionDateGroups = driver.findElements(By.className("transaction-date-group"));
diff --git a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/NewTransactionFromExistingOneTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/NewTransactionFromExistingOneTest.java
index 92882dd60..7797edadf 100644
--- a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/NewTransactionFromExistingOneTest.java
+++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/NewTransactionFromExistingOneTest.java
@@ -47,7 +47,7 @@ class NewTransactionFromExistingOneTest extends SeleniumTestBase
 		TransactionTestHelper.gotoSpecificYearAndMonth(driver, 2021, "October");
 
 		List<WebElement> transactionsRows = driver.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
-		List<WebElement> columns = transactionsRows.get(1).findElements(By.className("col"));
+		List<WebElement> columns = transactionsRows.get(2).findElements(By.className("col"));
 		columns.get(4).findElement(By.className("button-new-from-existing")).click();
 
 		WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
@@ -73,7 +73,7 @@ class NewTransactionFromExistingOneTest extends SeleniumTestBase
 		driver.findElement(By.id("button-save-transaction")).click();
 
 		wait = new WebDriverWait(driver, Duration.ofSeconds(5));
-		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Rest')]")));
+		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Last month balance')]")));
 
 		// assert
 		assertThat(driver.getCurrentUrl()).endsWith("/transactions");
@@ -85,7 +85,7 @@ class NewTransactionFromExistingOneTest extends SeleniumTestBase
 		TransactionTestHelper.gotoSpecificYearAndMonth(driver, 2021, "September");
 
 		List<WebElement> transactionsRows = driver.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
-		List<WebElement> columns = transactionsRows.get(0).findElements(By.className("col"));
+		List<WebElement> columns = transactionsRows.get(1).findElements(By.className("col"));
 		columns.get(4).findElement(By.className("button-new-from-existing")).click();
 
 		WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
@@ -111,7 +111,7 @@ class NewTransactionFromExistingOneTest extends SeleniumTestBase
 		driver.findElement(By.id("button-save-transaction")).click();
 
 		wait = new WebDriverWait(driver, Duration.ofSeconds(5));
-		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Rest')]")));
+		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Last month balance')]")));
 
 		// assert
 		assertThat(driver.getCurrentUrl()).endsWith("/transactions");
@@ -123,7 +123,7 @@ class NewTransactionFromExistingOneTest extends SeleniumTestBase
 		TransactionTestHelper.gotoSpecificYearAndMonth(driver, 2021, "June");
 
 		List<WebElement> transactionsRows = driver.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
-		List<WebElement> columns = transactionsRows.get(0).findElements(By.className("col"));
+		List<WebElement> columns = transactionsRows.get(1).findElements(By.className("col"));
 		columns.get(4).findElement(By.className("button-new-from-existing")).click();
 
 		WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
@@ -143,7 +143,7 @@ class NewTransactionFromExistingOneTest extends SeleniumTestBase
 		driver.findElement(By.id("button-save-transaction")).click();
 
 		wait = new WebDriverWait(driver, Duration.ofSeconds(5));
-		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Rest')]")));
+		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Last month balance')]")));
 
 		// assert
 		assertThat(driver.getCurrentUrl()).endsWith("/transactions");
@@ -157,7 +157,7 @@ class NewTransactionFromExistingOneTest extends SeleniumTestBase
 		TransactionTestHelper.gotoSpecificYearAndMonth(driver, 2021, "October");
 
 		List<WebElement> transactionsRows = driver.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
-		List<WebElement> columns = transactionsRows.get(0).findElements(By.className("col"));
+		List<WebElement> columns = transactionsRows.get(1).findElements(By.className("col"));
 		columns.get(4).findElement(By.className("button-new-from-existing")).click();
 
 		WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
@@ -177,7 +177,7 @@ class NewTransactionFromExistingOneTest extends SeleniumTestBase
 		driver.findElement(By.id("button-save-transaction")).click();
 
 		wait = new WebDriverWait(driver, Duration.ofSeconds(5));
-		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Rest')]")));
+		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Last month balance')]")));
 
 		// assert
 		assertThat(driver.getCurrentUrl()).endsWith("/transactions");
diff --git a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/NewTransactionNormalTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/NewTransactionNormalTest.java
index dca149d9a..0ec79f0dd 100644
--- a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/NewTransactionNormalTest.java
+++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/NewTransactionNormalTest.java
@@ -70,7 +70,7 @@ class NewTransactionNormalTest extends SeleniumTestBase
 		cancelButton.click();
 
 		WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
-		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Rest')]")));
+		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Last month balance')]")));
 
 		// assert
 		assertThat(driver.getCurrentUrl()).endsWith("/transactions");
@@ -105,7 +105,7 @@ class NewTransactionNormalTest extends SeleniumTestBase
 		driver.findElement(By.id("button-save-transaction")).click();
 
 		WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
-		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Rest')]")));
+		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Last month balance')]")));
 
 		// assert
 		assertThat(driver.getCurrentUrl()).endsWith("/transactions");
@@ -115,9 +115,9 @@ class NewTransactionNormalTest extends SeleniumTestBase
 
 		final List<WebElement> transactionDateGroups = driver.findElements(By.className("transaction-date-group"));
 
-		final WebElement dateGroup = transactionDateGroups.get(0);
+		final WebElement dateGroup = transactionDateGroups.get(1);
 		assertThat(dateGroup.findElement(By.className("transaction-date"))).hasFieldOrPropertyWithValue("text", TransactionTestHelper.getDateString(day));
-		final List<WebElement> transactionsInGroup = driver.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
+		final List<WebElement> transactionsInGroup = dateGroup.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
 
 		final WebElement transactionRow = transactionsInGroup.get(0);
 		final List<WebElement> columns = transactionRow.findElements(By.className("col"));
@@ -153,7 +153,7 @@ class NewTransactionNormalTest extends SeleniumTestBase
 		driver.findElement(By.id("button-save-transaction")).click();
 
 		WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
-		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Rest')]")));
+		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Last month balance')]")));
 
 		// assert
 		assertThat(driver.getCurrentUrl()).endsWith("/transactions");
@@ -164,9 +164,9 @@ class NewTransactionNormalTest extends SeleniumTestBase
 
 		final List<WebElement> transactionDateGroups = driver.findElements(By.className("transaction-date-group"));
 
-		final WebElement dateGroup = transactionDateGroups.get(0);
+		final WebElement dateGroup = transactionDateGroups.get(1);
 		assertThat(dateGroup.findElement(By.className("transaction-date"))).hasFieldOrPropertyWithValue("text", TransactionTestHelper.getDateString(day));
-		final List<WebElement> transactionsInGroup = driver.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
+		final List<WebElement> transactionsInGroup = dateGroup.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
 
 		final WebElement transactionRow = transactionsInGroup.get(0);
 		final List<WebElement> columns = transactionRow.findElements(By.className("col"));
@@ -296,9 +296,9 @@ class NewTransactionNormalTest extends SeleniumTestBase
 
 		final List<WebElement> transactionDateGroups = driver.findElements(By.className("transaction-date-group"));
 
-		final WebElement dateGroup = transactionDateGroups.get(0);
+		final WebElement dateGroup = transactionDateGroups.get(1);
 		assertThat(dateGroup.findElement(By.className("transaction-date"))).hasFieldOrPropertyWithValue("text", TransactionTestHelper.getDateString(day));
-		final List<WebElement> transactionsInGroup = driver.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
+		final List<WebElement> transactionsInGroup = dateGroup.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
 
 		final WebElement transactionRow = transactionsInGroup.get(0);
 		final List<WebElement> columns = transactionRow.findElements(By.className("col"));
@@ -369,7 +369,7 @@ class NewTransactionNormalTest extends SeleniumTestBase
 		driver.findElement(By.id("button-save-transaction")).click();
 
 		WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
-		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Rest')]")));
+		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Last month balance')]")));
 
 		assertThat(driver.getCurrentUrl()).endsWith("/transactions");
 
@@ -378,9 +378,9 @@ class NewTransactionNormalTest extends SeleniumTestBase
 
 		final List<WebElement> transactionDateGroups = driver.findElements(By.className("transaction-date-group"));
 
-		final WebElement dateGroup = transactionDateGroups.get(0);
+		final WebElement dateGroup = transactionDateGroups.get(1);
 		assertThat(dateGroup.findElement(By.className("transaction-date"))).hasFieldOrPropertyWithValue("text", TransactionTestHelper.getDateString(day));
-		final List<WebElement> transactionsInGroup = driver.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
+		final List<WebElement> transactionsInGroup = dateGroup.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
 
 		final WebElement transactionRow = transactionsInGroup.get(0);
 		final List<WebElement> columns = transactionRow.findElements(By.className("col"));
diff --git a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/NewTransactionRecurringTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/NewTransactionRecurringTest.java
index 6f2892ed3..e0a4d87ac 100644
--- a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/NewTransactionRecurringTest.java
+++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/NewTransactionRecurringTest.java
@@ -125,7 +125,7 @@ class NewTransactionRecurringTest extends SeleniumTestBase
 		((JavascriptExecutor) driver).executeScript("arguments[0].click();", submitButton);
 
 		wait = new WebDriverWait(driver, Duration.ofSeconds(5));
-		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Rest')]")));
+		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Last month balance')]")));
 
 		// assert
 		assertThat(driver.getCurrentUrl()).endsWith("/transactions");
@@ -137,7 +137,7 @@ class NewTransactionRecurringTest extends SeleniumTestBase
 
 		final WebElement dateGroup = transactionDateGroups.get(transactionDateGroups.size() - 2);
 		assertThat(dateGroup.findElement(By.className("transaction-date"))).hasFieldOrPropertyWithValue("text", TransactionTestHelper.getDateString(day));
-		final List<WebElement> transactionsInGroup = driver.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
+		final List<WebElement> transactionsInGroup = dateGroup.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
 
 		final WebElement transactionRow = transactionsInGroup.get(0);
 		final List<WebElement> columns = transactionRow.findElements(By.className("col"));
@@ -187,7 +187,7 @@ class NewTransactionRecurringTest extends SeleniumTestBase
 		((JavascriptExecutor) driver).executeScript("arguments[0].click();", submitButton);
 
 		wait = new WebDriverWait(driver, Duration.ofSeconds(5));
-		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Rest')]")));
+		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Last month balance')]")));
 
 		// assert
 		assertThat(driver.getCurrentUrl()).endsWith("/transactions");
@@ -199,7 +199,7 @@ class NewTransactionRecurringTest extends SeleniumTestBase
 
 		final WebElement dateGroup = transactionDateGroups.get(transactionDateGroups.size() - 2);
 		assertThat(dateGroup.findElement(By.className("transaction-date"))).hasFieldOrPropertyWithValue("text", TransactionTestHelper.getDateString(day));
-		final List<WebElement> transactionsInGroup = driver.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
+		final List<WebElement> transactionsInGroup = dateGroup.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
 
 		final WebElement transactionRow = transactionsInGroup.get(0);
 		final List<WebElement> columns = transactionRow.findElements(By.className("col"));
@@ -249,7 +249,7 @@ class NewTransactionRecurringTest extends SeleniumTestBase
 		((JavascriptExecutor) driver).executeScript("arguments[0].click();", submitButton);
 
 		wait = new WebDriverWait(driver, Duration.ofSeconds(5));
-		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Rest')]")));
+		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Last month balance')]")));
 
 		// assert
 		assertThat(driver.getCurrentUrl()).endsWith("/transactions");
@@ -261,7 +261,7 @@ class NewTransactionRecurringTest extends SeleniumTestBase
 
 		final WebElement dateGroup = transactionDateGroups.get(transactionDateGroups.size() - 2);
 		assertThat(dateGroup.findElement(By.className("transaction-date"))).hasFieldOrPropertyWithValue("text", TransactionTestHelper.getDateString(day));
-		final List<WebElement> transactionsInGroup = driver.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
+		final List<WebElement> transactionsInGroup = dateGroup.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
 
 		final WebElement transactionRow = transactionsInGroup.get(0);
 		final List<WebElement> columns = transactionRow.findElements(By.className("col"));
diff --git a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/NewTransactionTransferTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/NewTransactionTransferTest.java
index c38e7d4a7..d589a7c5a 100644
--- a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/NewTransactionTransferTest.java
+++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/NewTransactionTransferTest.java
@@ -73,7 +73,7 @@ class NewTransactionTransferTest extends SeleniumTestBase
 		cancelButton.click();
 
 		WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
-		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Rest')]")));
+		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Last month balance')]")));
 
 		// assert
 		assertThat(driver.getCurrentUrl()).endsWith("/transactions");
@@ -104,16 +104,16 @@ class NewTransactionTransferTest extends SeleniumTestBase
 		driver.findElement(By.id("button-save-transaction")).click();
 
 		WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
-		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Rest')]")));
+		wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[contains(text(), 'Last month balance')]")));
 
 		// assert
 		assertThat(driver.getCurrentUrl()).endsWith("/transactions");
 
 		final List<WebElement> transactionDateGroups = driver.findElements(By.className("transaction-date-group"));
 
-		final WebElement dateGroup = transactionDateGroups.get(0);
+		final WebElement dateGroup = transactionDateGroups.get(1);
 		assertThat(dateGroup.findElement(By.className("transaction-date"))).hasFieldOrPropertyWithValue("text", TransactionTestHelper.getDateString(day));
-		final List<WebElement> transactionsInGroup = driver.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
+		final List<WebElement> transactionsInGroup = dateGroup.findElements(By.cssSelector(".transaction-container .hide-on-med-and-down.transaction-row-top"));
 
 		final WebElement transactionRow = transactionsInGroup.get(0);
 		final List<WebElement> columns = transactionRow.findElements(By.className("col"));
diff --git a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/CategoryServiceTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/CategoryServiceTest.java
index ac1f61dc1..bff6e069b 100644
--- a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/CategoryServiceTest.java
+++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/CategoryServiceTest.java
@@ -23,7 +23,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 class CategoryServiceTest
 {
 	private static final Category CATEGORY_NONE = new Category("No Category", "#FFFFFF", CategoryType.NONE);
-	private static final Category CATEGORY_REST = new Category("Rest", "#FFFF00", CategoryType.REST);
+	private static final Category CATEGORY_REST = new Category("Balance", "#FFFF00", CategoryType.REST);
 
 	@Mock
 	private CategoryRepository categoryRepository;
@@ -64,7 +64,7 @@ class CategoryServiceTest
 		Mockito.when(categoryRepository.findAllByOrderByNameAsc()).thenReturn(categories);
 
 		assertThat(categoryService.getAllEntitiesAsc()).hasSize(9)
-				.containsExactly(category_1, category_2, category_11, category_AA, category_aa, category_AABB, category_BB, CATEGORY_NONE, CATEGORY_REST);
+				.containsExactly(category_1, category_2, category_11, category_AA, category_aa, category_AABB, CATEGORY_REST, category_BB, CATEGORY_NONE);
 	}
 
 	@Test
diff --git a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceTest.java
index 6c8c09477..16b0770df 100644
--- a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceTest.java
+++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceTest.java
@@ -23,7 +23,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 @LocalizedTest
 class TransactionServiceTest
 {
-	private static final Category CATEGORY_REST = new Category("Rest", "#FFFF00", CategoryType.REST);
+	private static final Category CATEGORY_REST = new Category("Balance", "#FFFF00", CategoryType.REST);
 	private static final Category CATEGORY_CUSTOM = new Category("CustomCategory", "#0F0F0F", CategoryType.CUSTOM);
 
 	private static final Account ACCOUNT = new Account("MyAccount", AccountType.CUSTOM);
@@ -39,7 +39,7 @@ class TransactionServiceTest
 	{
 		Transaction transactionRest = new Transaction();
 		transactionRest.setID(1);
-		transactionRest.setName("Rest");
+		transactionRest.setName("Balance");
 		transactionRest.setAmount(700);
 		transactionRest.setCategory(CATEGORY_REST);
 		transactionRest.setAccount(ACCOUNT);
diff --git a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/database/ImportServiceTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/database/ImportServiceTest.java
index 993137ee2..4c1c9da30 100644
--- a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/database/ImportServiceTest.java
+++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/database/ImportServiceTest.java
@@ -162,8 +162,8 @@ class ImportServiceTest
 		// icons created for default accounts, categories, ...
 		final Icon iconAllAccounts = createIcon(1, "fas fa-landmark", null, null);
 		final Icon iconAccountDefault = createIcon(3, null, null, null);
-		final Icon iconCategoryNone = createIcon(4, null, null, null);
-		final Icon iconCategoryRest = createIcon(5, null, null, null);
+		final Icon iconCategoryRest = createIcon(4, null, null, null);
+		final Icon iconCategoryNone = createIcon(5, null, null, null);
 
 		// imported icons
 		final Icon iconAccountReadOnly = createIcon(9, "fas fa-ban", "#2eb952ff", null);
@@ -198,7 +198,7 @@ class ImportServiceTest
 
 		// assert categories
 		final Category categoryNone = createCategory(1, "No Category", "#FFFFFF", CategoryType.NONE, iconCategoryNone);
-		final Category categoryRest = createCategory(2, "Rest", "#FFFF00", CategoryType.REST, iconCategoryRest);
+		final Category categoryRest = createCategory(2, "Balance", "#FFFF00", CategoryType.REST, iconCategoryRest);
 		final Category categoryCar = createCategory(3, "Car", "#007afa", CategoryType.CUSTOM, iconCategoryCar);
 		final Category categoryRent = createCategory(4, "Rent", "#eeeeee", CategoryType.CUSTOM, iconCategoryRent);
 		assertThat(categoryRepository.findAll())
diff --git a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/database/importer/CategoryImporterTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/database/importer/CategoryImporterTest.java
index 1ad483cf2..c6d4de314 100644
--- a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/database/importer/CategoryImporterTest.java
+++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/database/importer/CategoryImporterTest.java
@@ -66,7 +66,7 @@ class CategoryImporterTest extends ImporterTestBase
 	@Test
 	void test_importCategories_skipExisting_defaultRest()
 	{
-		final Category category = new Category("Rest", "#ff0000", CategoryType.REST);
+		final Category category = new Category("Balance", "#ff0000", CategoryType.REST);
 		category.setID(1);
 
 		categoryRepository.save(category);
-- 
GitLab