Skip to content
Snippets Groups Projects
Commit 40d39da3 authored by Robert Goldmann's avatar Robert Goldmann
Browse files

#696 - added selenium tests for update settings

parent 059bcb50
No related branches found
No related tags found
No related merge requests found
package de.deadlocker8.budgetmaster.integration.selenium.settings;
import de.deadlocker8.budgetmaster.authentication.UserService;
import de.deadlocker8.budgetmaster.integration.helpers.IntegrationTestHelper;
import de.deadlocker8.budgetmaster.integration.helpers.SeleniumTestBase;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import java.time.Duration;
import static org.assertj.core.api.Assertions.assertThat;
class UpdatesSettingsTest extends SeleniumTestBase
{
private static IntegrationTestHelper helper;
@Override
protected void importDatabaseOnce()
{
helper = new IntegrationTestHelper(driver, port);
helper.start();
helper.login(UserService.DEFAULT_PASSWORD);
helper.hideBackupReminder();
helper.hideWhatsNewDialog();
helper.hideMigrationDialog();
}
@Test
void test_unsavedChangesWarningIsShown()
{
driver.get(helper.getUrl() + "/settings");
driver.findElement(By.id("updateSettingsContainerHeader")).click();
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("updateSettingsContainer")));
driver.findElement(By.cssSelector("#updateSettingsContainer .lever")).click();
// assert
assertThat(driver.findElement(By.cssSelector("#updateSettingsContainerHeader .collapsible-header-button")).getText())
.contains("unsaved");
}
@Test
void test_save()
{
driver.get(helper.getUrl() + "/settings");
driver.findElement(By.id("updateSettingsContainerHeader")).click();
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("updateSettingsContainer")));
driver.findElement(By.cssSelector("#updateSettingsContainer .lever")).click();
driver.findElement(By.cssSelector("#updateSettingsContainer button")).click();
wait = new WebDriverWait(driver, Duration.ofSeconds(5));
wait.until(ExpectedConditions.visibilityOfElementLocated(By.className("toast")));
// assert
assertThat(driver.findElement(By.className("toast")).getText())
.contains("Update settings saved");
assertThat(driver.findElement(By.cssSelector("#updateSettingsContainerHeader .collapsible-header-button")).isDisplayed())
.isFalse();
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment