Files
elwig/Tests/E2ETests/MemberAdminWindowTest.cs
Thomas Hilscher ddd821e478
All checks were successful
Test / Run tests (push) Successful in 2m16s
Tests: Add E2ETests
2024-07-07 01:22:43 +02:00

151 lines
6.6 KiB
C#

using OpenQA.Selenium.Appium.Windows;
namespace Tests.E2ETests {
public class MemberAdminWindowTest : TestBase {
public WindowsDriver<WindowsElement> Session { get; private set; }
[OneTimeSetUp]
public void ClassSetUp() {
Setup();
AppSession.FindElementByName("Mitglieder").Click();
Thread.Sleep(1000);
Session = CreateWindowDriver("MemberAdminWindow");
}
[SetUp]
public void TestSetUp() {
}
[OneTimeTearDown]
public void ClassTearDown() {
if (Session != null) {
Session.Close();
Session.Quit();
Session = null;
}
TearDown();
StopWinappDriver();
}
[TearDown]
public void TestTearDown() {
Session.FindElementByAccessibilityId("SearchInput").Clear();
Thread.Sleep(1000);
}
[Test, Order(1)]
public void CreateMember() {
Session.FindElementByAccessibilityId("NewMemberButton").Click();
var mgnr = Session.FindElementByAccessibilityId("MgNrInput").Text; //TODO: Fixe MGNR verwenden
Session.FindElementByAccessibilityId("GivenNameInput").SendKeys("Max");
Session.FindElementByAccessibilityId("FamilyNameInput").SendKeys("Mustermann");
Session.FindElementByAccessibilityId("PrefixInput").SendKeys("Ing.");
Session.FindElementByAccessibilityId("SuffixInput").SendKeys("jun.");
Session.FindElementByAccessibilityId("BirthdayInput").SendKeys("1987");
Session.FindElementByAccessibilityId("AddressInput").SendKeys("Musterstraße 9");
Session.FindElementByAccessibilityId("PlzInput").SendKeys("2120");
ClickComboBoxByCount(Session, "OrtInput", 1);
Session.FindElementByAccessibilityId("EmailAddress1Input").SendKeys("max.mustermann@aon.at");
Session.FindElementByAccessibilityId("EmailAddress2Input").SendKeys("erika.mustermann@aon.at");
ClickComboBoxByCount(Session, "PhoneNr1TypeInput", 1);
Session.FindElementByAccessibilityId("PhoneNr1Input").SendKeys("+43 1234 5678");
ClickComboBoxByCount(Session, "PhoneNr2TypeInput", 2);
Session.FindElementByAccessibilityId("PhoneNr2Input").SendKeys("+43 123 45678901");
Session.FindElementByAccessibilityId("IbanInput").SendKeys("AT611904300234573201");
Session.FindElementByAccessibilityId("BicInput").SendKeys("RLNWATWWWDF");
Session.FindElementByAccessibilityId("UstIdNrInput").SendKeys("ATU66192906"); //TODO: Testdaten?
Session.FindElementByAccessibilityId("LfbisNrInput").SendKeys("1251074"); //TODO: Testdaten?
Session.FindElementByAccessibilityId("BuchführendInput").Click();
Session.FindElementByAccessibilityId("OrganicInput").Click();
Session.FindElementByAccessibilityId("BillingNameInput").SendKeys("Mustermann KG");
Session.FindElementByAccessibilityId("BillingAddressInput").SendKeys("Betriebsstraße 1");
Session.FindElementByAccessibilityId("BillingPlzInput").SendKeys("2120");
ClickComboBoxByCount(Session, "BillingOrtInput", 2);
Session.FindElementByAccessibilityId("BusinessSharesInput").SendKeys("10");
ClickComboBoxByText(Session, "BranchInput", "Matzen");
ClickComboBoxByCount(Session, "DefaultKgInput", 3);
Session.FindElementByAccessibilityId("VollLieferantInput").Click();
Session.FindElementByAccessibilityId("FunkionärInput").Click();
Session.FindElementByAccessibilityId("CommentInput").SendKeys("Die lieben Mustermänner und Musterfrauen!");
Session.FindElementByAccessibilityId("ContactEmailInput").Click();
Session.FindElementByAccessibilityId("SaveButton").Click();
Session.FindElementByAccessibilityId("SearchInput").SendKeys($"{mgnr} Max Mustermann");
var memberListow = Session.FindElementByAccessibilityId("MemberList").FindElementByClassName("DataGridRow");
Assert.That(memberListow, Is.Not.Null);
Assert.Multiple(() => {
Assert.That(memberListow.FindElementByName($"{mgnr} "), Is.Not.Null);
Assert.That(memberListow.FindElementByName("Max"), Is.Not.Null);
Assert.That(memberListow.FindElementByName("Mustermann"), Is.Not.Null);
});
}
[Test, Order(2)]
public void EditMember() {
Session.FindElementByAccessibilityId("SearchInput").SendKeys("10003 Max Mustermann");
var memberList = Session.FindElementByAccessibilityId("MemberList");
Assert.That(memberList, Is.Not.Null);
var memberListRows = memberList.FindElementsByClassName("DataGridRow");
Assert.That(memberListRows, Has.Count.EqualTo(1));
Session.FindElementByAccessibilityId("EditMemberButton").Click();
var businessSharesInput = Session.FindElementByAccessibilityId("BusinessSharesInput");
Assert.That(businessSharesInput, Is.Not.Null);
var businessShares = int.Parse(businessSharesInput.Text);
businessSharesInput.Clear();
businessSharesInput.SendKeys($"{businessShares + 5}");
Session.FindElementByAccessibilityId("SaveButton").Click();
var newBusinessShares = int.Parse(businessSharesInput.Text);
Assert.That(newBusinessShares, Is.EqualTo(businessShares + 5));
}
[Test, Order(3)]
public void DeleteMember() {
Session.FindElementByAccessibilityId("SearchInput").SendKeys("10003 Max Mustermann");
var memberList = Session.FindElementByAccessibilityId("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.FindElementByName("10003 "), Is.Not.Null);
Assert.That(memberListRow.FindElementByName("Max"), Is.Not.Null);
Assert.That(memberListRow.FindElementByName("Mustermann"), Is.Not.Null);
});
Session.FindElementByAccessibilityId("DeleteMemberButton").Click();
DesktopSession.FindElementByName("OK").Click();
memberListRows = memberList.FindElementsByClassName("DataGridRow");
Assert.That(memberListRows, Has.Count.EqualTo(0));
}
}
}