using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using Cafe; using Cafe.AddWindows; using System.Collections.Generic; using System.Linq; using System.Windows; namespace CafeTests { [TestClass] public class CafeTests { [TestMethod] public void RegistrationValidationTest() { var window = new AddEmployeeWindow(); Assert.IsTrue(window.RegistrationValidation("TriPS", "123", "Карбышев", "Максим", "Евгеньевич", "kmacksim@yandex.ru", "администратор")); Assert.IsTrue(window.RegistrationValidation("TriPS", "123", "Карбышев", "Максим", "", "kmacksim@yandex.ru", "администратор")); Assert.IsFalse(window.RegistrationValidation("", "", "", "", "", "", "")); Assert.IsFalse(window.RegistrationValidation("", "123", "Карбышев", "Максим", "Евгеньевич", "kmacksim@yandex.ru", "администратор")); Assert.IsFalse(window.RegistrationValidation("TriPS", "", "Карбышев", "Максим", "Евгеньевич", "kmacksim@yandex.ru", "администратор")); Assert.IsFalse(window.RegistrationValidation("TriPS", "123", "", "Максим", "Евгеньевич", "kmacksim@yandex.ru", "администратор")); Assert.IsFalse(window.RegistrationValidation("TriPS", "123", "Карбышев", "", "Евгеньевич", "kmacksim@yandex.ru", "администратор")); Assert.IsFalse(window.RegistrationValidation("TriPS", "123", "Карбышев", "Максим", "Евгеньевич", "", "администратор")); Assert.IsFalse(window.RegistrationValidation("TriPS", "123", "Карбышев", "Максим", "Евгеньевич", "kmacksim@yandex.ru", "")); } [TestMethod] public void GetRoleIDTest() { var window = new AddEmployeeWindow(); int expected1 = 1; Assert.AreEqual(expected1, window.GetRoleID("администратор")); int expected2 = 2; Assert.AreEqual(expected2, window.GetRoleID("официант")); int expected3 = 3; Assert.AreEqual(expected3, window.GetRoleID("повар")); } [TestMethod] public void UserLoginIsExistTest() { var window = new AddEmployeeWindow(); Assert.IsTrue(window.UserLoginIsExist("admin")); Assert.IsFalse(window.UserLoginIsExist("TriPS")); } [TestMethod] public void IsValidEmailTest() { var window = new AddEmployeeWindow(); Assert.IsTrue(window.IsValidEmail("kmacksim@yandex.ru")); Assert.IsTrue(window.IsValidEmail("kmacksim@gmail.com")); Assert.IsFalse(window.IsValidEmail("kmacksimyandexru")); Assert.IsFalse(window.IsValidEmail("kmacksimyandex.ru")); Assert.IsFalse(window.IsValidEmail("kmacksim-yandex.ru")); Assert.IsFalse(window.IsValidEmail("kmac|ksim@yandex.ru")); } [TestMethod] public void HashTest() { string password = "password123"; string expected = "f22ec811b8bf1cb6ac3aea13d3fcfebf"; Assert.AreEqual(expected, Encrypt.Hash(password)); } [TestMethod] public void ExchangeValidationTest() { Application.LoadComponent(new Uri("/Cafe2;component/App.xaml", UriKind.Relative)); var window = new AddExchangeWindow(); List employees = Connection.db.Users.Where(item => item.IDRole != 1).ToList(); List employeesNull = null; Assert.IsTrue(window.ExchangeValidation(employees, "23.12.2022", "8:00", "17:00")); Assert.IsFalse(window.ExchangeValidation(employeesNull, "23.12.2022", "8:00", "17:00")); Assert.IsFalse(window.ExchangeValidation(employees, "", "8:00", "17:00")); Assert.IsFalse(window.ExchangeValidation(employees, "23.12.2022", "", "17:00")); Assert.IsFalse(window.ExchangeValidation(employees, "23.12.2022", "8:00", "")); Assert.IsFalse(window.ExchangeValidation(employees, "01.01.2023", "8:00", "17:00")); Assert.IsFalse(window.ExchangeValidation(employees, "23.12.2022", "25:00", "17:00")); Assert.IsFalse(window.ExchangeValidation(employees, "23.12.2022", "8:00", "25:00")); Assert.IsFalse(window.ExchangeValidation(employees, "23.12.2022", "8", "17:00")); Assert.IsFalse(window.ExchangeValidation(employees, "23.12.2022", "8:00", "17")); } [TestMethod] public void TimeValidationTest() { Application.LoadComponent(new Uri("/Cafe2;component/App.xaml", UriKind.Relative)); var window = new AddExchangeWindow(); Assert.IsTrue(window.TimeValidation("8:00")); Assert.IsFalse(window.TimeValidation("25:00")); Assert.IsFalse(window.TimeValidation("8")); Assert.IsFalse(window.TimeValidation("")); } [TestMethod] public void DateValidationTest() { Application.LoadComponent(new Uri("/Cafe2;component/App.xaml", UriKind.Relative)); var window = new AddExchangeWindow(); Assert.IsTrue(window.DateValidation("23.12.2022")); Assert.IsTrue(window.DateValidation("2022.12.23")); Assert.IsFalse(window.DateValidation("34.12.2022")); Assert.IsFalse(window.DateValidation("23.13.2022")); Assert.IsFalse(window.DateValidation("12.2022")); Assert.IsFalse(window.DateValidation("23.2022")); Assert.IsFalse(window.DateValidation("23.12")); } [TestMethod] public void GetExchangeTest() { var window = new AddOrderWindow(); DateTime time = new DateTime(2022, 12, 22, 10, 0, 0); Exchange expected = Connection.db.Exchange.Where(item => item.ID == 2).FirstOrDefault(); Assert.AreEqual(expected, window.GetExchange(time)); } } }