Skip to content

Commit

Permalink
#731 - added selenium tests
Browse files Browse the repository at this point in the history
  • Loading branch information
deadlocker8 committed Feb 19, 2023
1 parent 86b4e03 commit 51c9c8f
Showing 1 changed file with 59 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ void test_upload_emptyDatePattern_showValidationError()

assertThat(driver.findElement(By.id("csv-file-name")).getText()).isEqualTo("three_entries.csv");

fillColumnSettings(1, "", 2, 3, 2);
fillColumnSettings(1, "", 2, 3, ".", ",", 2);

wait = new WebDriverWait(driver, Duration.ofSeconds(5));
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("#datePattern.invalid")));
Expand All @@ -226,7 +226,7 @@ void test_upload_invalidColumnSettings_showValidationError()

assertThat(driver.findElement(By.id("csv-file-name")).getText()).isEqualTo("three_entries.csv");

fillColumnSettings(-3, "dd.MM.yyyy", 200, -12, 115);
fillColumnSettings(-3, "dd.MM.yyyy", 200, -12, ".", ",", 115);

wait = new WebDriverWait(driver, Duration.ofSeconds(5));
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("#columnDate.invalid")));
Expand All @@ -237,6 +237,52 @@ void test_upload_invalidColumnSettings_showValidationError()
assertThat(driver.findElement(By.cssSelector("#columnDescription.invalid"))).isNotNull();
}

@Test
void test_upload_emptyDecimalSeparator_showValidationError()
{
driver.get(helper.getUrl() + "/transactionImport");
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
wait.until(ExpectedConditions.textToBePresentInElementLocated(By.cssSelector(".headline"), "Import from bank CSV"));

final String csvPath = new File(getClass().getClassLoader().getResource("csv/three_entries.csv").getFile()).getAbsolutePath();

uploadCsv(csvPath, ";", "UTF-8", "1");
wait = new WebDriverWait(driver, Duration.ofSeconds(5));
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("button-cancel-csv-import")));

assertThat(driver.findElement(By.id("csv-file-name")).getText()).isEqualTo("three_entries.csv");

fillColumnSettings(1, "", 2, 3, "", ",",2);

wait = new WebDriverWait(driver, Duration.ofSeconds(5));
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("#decimalSeparator.invalid")));

assertThat(driver.findElement(By.cssSelector("#decimalSeparator.invalid"))).isNotNull();
}

@Test
void test_upload_emptyGroupingSeparator_showValidationError()
{
driver.get(helper.getUrl() + "/transactionImport");
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
wait.until(ExpectedConditions.textToBePresentInElementLocated(By.cssSelector(".headline"), "Import from bank CSV"));

final String csvPath = new File(getClass().getClassLoader().getResource("csv/three_entries.csv").getFile()).getAbsolutePath();

uploadCsv(csvPath, ";", "UTF-8", "1");
wait = new WebDriverWait(driver, Duration.ofSeconds(5));
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("button-cancel-csv-import")));

assertThat(driver.findElement(By.id("csv-file-name")).getText()).isEqualTo("three_entries.csv");

fillColumnSettings(1, "", 2, 3, "", ",",2);

wait = new WebDriverWait(driver, Duration.ofSeconds(5));
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("#decimalSeparator.invalid")));

assertThat(driver.findElement(By.cssSelector("#decimalSeparator.invalid"))).isNotNull();
}

@Test
void test_upload_valid()
{
Expand Down Expand Up @@ -268,7 +314,7 @@ void test_upload_valid_parseErrors()

assertThat(driver.findElement(By.id("csv-file-name")).getText()).isEqualTo("three_entries.csv");

fillColumnSettings(1, "dd.MM.yyyy", 2, 3, 2);
fillColumnSettings(1, "dd.MM.yyyy", 2, 3, ".", ",",2);

wait = new WebDriverWait(driver, Duration.ofSeconds(5));
wait.until(ExpectedConditions.invisibilityOfElementLocated(By.id("button-confirm-csv-column-settings")));
Expand Down Expand Up @@ -494,7 +540,7 @@ private void uploadAndSetColumnSettings()
assertThat(columns.get(1).getText()).isEqualTo("Lorem");
assertThat(columns.get(2).getText()).isEqualTo("50.00");

fillColumnSettings(1, "dd.MM.yyyy", 2, 3, 2);
fillColumnSettings(1, "dd.MM.yyyy", 2, 3, ".", ",",2);

wait = new WebDriverWait(driver, Duration.ofSeconds(5));
wait.until(ExpectedConditions.invisibilityOfElementLocated(By.id("button-confirm-csv-column-settings")));
Expand All @@ -519,7 +565,7 @@ private void uploadCsv(String csvPath, String separator, String encoding, String
driver.findElement(By.id("button-confirm-csv-import")).click();
}

private void fillColumnSettings(int columnDate, String datePattern, int columnName, int columnAmount, int columnDescription)
private void fillColumnSettings(int columnDate, String datePattern, int columnName, int columnAmount, String decimalSeparator, String groupingSeparator, int columnDescription)
{
final WebElement columnDateInput = driver.findElement(By.name("columnDate"));
columnDateInput.clear();
Expand All @@ -537,6 +583,14 @@ private void fillColumnSettings(int columnDate, String datePattern, int columnNa
columnAmountInput.clear();
columnAmountInput.sendKeys(String.valueOf(columnAmount));

final WebElement decimalSeparatorInput = driver.findElement(By.name("decimalSeparator"));
decimalSeparatorInput.clear();
decimalSeparatorInput.sendKeys(String.valueOf(decimalSeparator));

final WebElement groupingSeparatorInput = driver.findElement(By.name("groupingSeparator"));
groupingSeparatorInput.clear();
groupingSeparatorInput.sendKeys(String.valueOf(groupingSeparator));

final WebElement columnDescriptionInput = driver.findElement(By.name("columnDescription"));
columnDescriptionInput.clear();
columnDescriptionInput.sendKeys(String.valueOf(columnDescription));
Expand Down

0 comments on commit 51c9c8f

Please sign in to comment.