using OpenQA.Selenium.Appium.Windows; namespace Tests.E2ETests { [TestFixture] public class MemberAdminWindowTest { private AppSession Session; private WindowsDriver 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)); } } }