namespace Tests.E2ETests {
    [TestFixture]
    public class MainWindowTest {

        private AppSession Session;

        [OneTimeSetUp]
        public void Setup() {
            Session = new(Utils.ApplicationPath, WinAppDriver.WinAppDriverUrl);
        }

        [OneTimeTearDown]
        public void Teardown() {
            Session.Dispose();
        }

        [Test]
        public void Test_Open_MemberAdminWindow() {
            Assert.DoesNotThrow(() => {
                Session.App.FindElementByName("Mitglieder").Click();
                Thread.Sleep(1500);
                var window = Session.CreateWindowDriver("MemberAdminWindow");
                Assert.That(window.Title, Is.EqualTo("Mitglieder - Elwig"));
                window.Close();
            });
        }

        [Test]
        public void Test_Open_DeliveryAdminWindow() {
            Assert.DoesNotThrow(() => {
                Session.App.FindElementByName("Lieferungen").Click();
                Thread.Sleep(1500);
                var window = Session.CreateWindowDriver("DeliveryAdminWindow");
                Assert.That(window.Title, Is.EqualTo("Lieferungen - Elwig"));
                window.Close();
            });
        }

        [Test]
        public void Test_Open_BaseDataWindow() {
            Assert.DoesNotThrow(() => {
                Session.App.FindElementByName("Stammdaten").Click();
                Thread.Sleep(1500);
                var window = Session.CreateWindowDriver("BaseDataWindow");
                Assert.That(window.Title, Is.EqualTo("Stammdaten - Elwig"));
                window.Close();
            });
        }
    }
}