Files
elwig/Tests/E2ETests/MemberAdminWindowTest.cs
Lorenz Stechauner 34178105a7
All checks were successful
Test / Run tests (push) Successful in 2m38s
E2ETests: Use ElwigTestDB.sqlite3 instead of default
2024-07-08 13:05:21 +02:00

147 lines
6.0 KiB
C#

using OpenQA.Selenium.Appium.Windows;
namespace Tests.E2ETests {
[TestFixture]
public class MemberAdminWindowTest {
private AppSession Session;
private WindowsDriver<WindowsElement> Window;
[OneTimeSetUp]
public void WindowSetup() {
Session = new(Utils.ApplicationPath, Utils.ConfigPath, WinAppDriver.WinAppDriverUrl);
Session.App.FindElementByName("Mitglieder").Click();
Thread.Sleep(1000);
Window = Session.CreateWindowDriver("MemberAdminWindow");
}
[OneTimeTearDown]
public void WindowTeardown() {
Window.Close();
Window.Quit();
Session.Dispose();
}
[TearDown]
public void Teardown() {
Window!.FindById("SearchInput").Clear();
Thread.Sleep(500);
}
[Test]
public void Test_1_CreateMember() {
Window!.FindById("NewMemberButton").Click();
Window.FindById("MgNrInput").Clear();
Window.FindById("MgNrInput").SendKeys("9999");
Window.FindById("GivenNameInput").SendKeys("Norbert");
Window.FindById("FamilyNameInput").SendKeys("Neuling");
Window.FindById("PrefixInput").SendKeys("Ing.");
Window.FindById("SuffixInput").SendKeys("jun.");
Window.FindById("BirthdayInput").SendKeys("1987");
Window.FindById("AddressInput").SendKeys("Musterstraße 9");
Window.FindById("PlzInput").SendKeys("2120");
Window.SelectComboBoxItemByCount("OrtInput", 1);
Window.FindById("EmailAddress1Input").SendKeys("norbert.neuling@aon.at");
Window.FindById("EmailAddress2Input").SendKeys("nathalie.neuling@aon.at");
Window.SelectComboBoxItemByCount("PhoneNr1TypeInput", 1);
Window.FindById("PhoneNr1Input").SendKeys("012345678");
Window.SelectComboBoxItemByCount("PhoneNr2TypeInput", 2);
Window.FindById("PhoneNr2Input").SendKeys("0664123456");
Window.FindById("IbanInput").SendKeys("AT611904300234573201");
Window.FindById("BicInput").SendKeys("RLNWATWWWDF");
Window.FindById("UstIdNrInput").SendKeys("ATU66192906"); // TODO: Testdaten?
Window.FindById("LfbisNrInput").SendKeys("1251074"); // TODO: Testdaten?
Window.FindById("BuchführendInput").Click();
Window.FindById("OrganicInput").Click();
Window.FindById("BillingNameInput").SendKeys("Neuling KG");
Window.FindById("BillingAddressInput").SendKeys("Betriebsstraße 1");
Window.FindById("BillingPlzInput").SendKeys("2120");
Window.SelectComboBoxItemByCount("BillingOrtInput", 2);
Window.FindById("BusinessSharesInput").SendKeys("10");
Window.SelectComboBoxItemByText("BranchInput", "Matzen");
Window.SelectComboBoxItemByCount("DefaultKgInput", 3);
Window.FindById("VollLieferantInput").Click();
Window.FindById("FunkionärInput").Click();
Window.FindById("CommentInput").SendKeys("Die lieben Mustermänner und Musterfrauen!");
Window.FindById("ContactEmailInput").Click();
Window.FindById("SaveButton").Click();
Window.FindById("SearchInput").SendKeys("9999");
Thread.Sleep(500);
var memberListRow = Window.FindById("MemberList").FindElementByClassName("DataGridRow");
Assert.Multiple(() => {
Assert.That(memberListRow, Is.Not.Null);
Assert.That(memberListRow.FindElementByName("9999 "), Is.Not.Null);
Assert.That(memberListRow.FindElementByName("Norbert"), Is.Not.Null);
Assert.That(memberListRow.FindElementByName("Neuling"), Is.Not.Null);
});
}
[Test]
public void Test_2_EditMember() {
Window!.FindById("SearchInput").SendKeys("9999");
Thread.Sleep(500);
var memberList = Window.FindById("MemberList");
Assert.That(memberList, Is.Not.Null);
var memberListRows = memberList.FindElementsByClassName("DataGridRow");
Assert.That(memberListRows, Has.Count.EqualTo(1));
Window.FindById("EditMemberButton").Click();
var businessSharesInput = Window.FindById("BusinessSharesInput");
Assert.That(businessSharesInput, Is.Not.Null);
var businessShares = int.Parse(businessSharesInput.Text);
businessSharesInput.Clear();
businessSharesInput.SendKeys($"{businessShares + 5}");
Window.FindById("SaveButton").Click();
var newBusinessShares = int.Parse(businessSharesInput.Text);
Assert.That(newBusinessShares, Is.EqualTo(businessShares + 5));
}
[Test]
public void Test_3_DeleteMember() {
Window!.FindById("SearchInput").SendKeys("9999");
Thread.Sleep(500);
var memberList = Window.FindById("MemberList");
Assert.That(memberList, Is.Not.Null);
var memberListRows = memberList.FindElementsByClassName("DataGridRow");
Assert.That(memberListRows, Has.Count.EqualTo(1));
var memberListRow = memberListRows.First();
Assert.Multiple(() => {
Assert.That(memberListRow, Is.Not.Null);
Assert.That(memberListRow.FindElementByName("9999 "), Is.Not.Null);
Assert.That(memberListRow.FindElementByName("Norbert"), Is.Not.Null);
Assert.That(memberListRow.FindElementByName("Neuling"), Is.Not.Null);
});
Window.FindById("DeleteMemberButton").Click();
var dialog = Session.CreateWindowDriver("DeleteMemberDialog");
dialog.FindById("NameInput").SendKeys("9999 Ing. Norbert Neuling jun.");
dialog.FindById("ConfirmButton").Click();
memberListRows = memberList.FindElementsByClassName("DataGridRow");
Assert.That(memberListRows, Has.Count.EqualTo(0));
}
}
}