public void TestUpdate() { Mock <IEventRepository> eventRepo = new Mock <IEventRepository>(); Mock <ITicketRepository> ticketRepo = new Mock <ITicketRepository>(); Mock <IGuestRepository> guestRepo = new Mock <IGuestRepository>(); Mock <IAdminUserRepository> adminRepo = new Mock <IAdminUserRepository>(); List <Guest> guests = new List <Guest>() { new Guest() { ID = 1, Name = "Tom" }, new Guest() { ID = 2, Name = "Cruise" }, }; guestRepo.Setup(repo => repo.ChangeName(It.IsAny <int>(), It.IsAny <string>())).Returns(true); AdminstratorLogic logic = new AdminstratorLogic(ticketRepo.Object, eventRepo.Object, guestRepo.Object, adminRepo.Object); bool result = logic.ChangeName(1, "Vishav"); Assert.That(result, Is.EqualTo(true)); guestRepo.Verify(repo => repo.ChangeName(1, "Vishav"), Times.Once); }
/// <summary> /// This method will allow only certain users get admin access. /// </summary> /// <param name="logic">AdminstatorLogic.</param> /// <param name="loggedIn">Bool Value of login status.</param> public static void Login(AdminstratorLogic logic, ref bool loggedIn) { if (logic == null) { throw new ArgumentNullException(nameof(logic)); } Console.WriteLine("Enter the usename"); string username = Console.ReadLine(); string password = string.Empty; Console.WriteLine("Enter the password"); while (true) { ConsoleKeyInfo pass = Console.ReadKey(true); if (pass.Key == ConsoleKey.Enter) { break; } Console.Write("*"); password += pass.KeyChar; } if (logic.IsPasswordCorrect(username, password)) { loggedIn = true; AdmistartionMenu(logic); } else { Console.WriteLine("\nPassword or Username is incorrect."); Console.ReadKey(); } }
/// <summary> /// This will result wheather user is loggedIn in current session. /// </summary> /// <param name="logic">AdminstratorLogic.</param> /// <param name="loggedIn">Bool Value of login status.</param> public static void IsUserLoggedIn(AdminstratorLogic logic, ref bool loggedIn) { if (loggedIn) { AdmistartionMenu(logic); } else { Login(logic, ref loggedIn); } }
public void TestRemove([Values(3)] int id) { Mock <IEventRepository> eventRepo = new Mock <IEventRepository>(); Mock <ITicketRepository> ticketRepo = new Mock <ITicketRepository>(); Mock <IGuestRepository> guestRepo = new Mock <IGuestRepository>(); Mock <IAdminUserRepository> adminRepo = new Mock <IAdminUserRepository>(); guestRepo.Setup(repo => repo.Remove(It.IsAny <int>())).Returns(true); bool expectedTrue = true; AdminstratorLogic logic = new AdminstratorLogic(ticketRepo.Object, eventRepo.Object, guestRepo.Object, adminRepo.Object); bool result = logic.RemoveGuest(id); Assert.That(result, Is.EqualTo(expectedTrue)); guestRepo.Verify(repo => repo.Remove(id), Times.Once); guestRepo.Verify(repo => repo.Remove(It.IsAny <Guest>()), Times.Never); }
/// <summary> /// This mehtod will generate the administrator menu to be shown to user. /// </summary> /// <param name="logic">Adminstrator logic.</param> public static void AdmistartionMenu(AdminstratorLogic logic) { var menu = new ConsoleMenu(). Add("Add Event", () => AddEvent(logic)). Add("Remove Event", () => RemoveEvent(logic)). Add("Update Event Place", () => UpdatePlace(logic)). Add("Update Ticket Discount", () => ChangeDiscount(logic)). Add("Change Guest Name", () => UpdateName(logic)). Add("Remove Guest", () => RemoveGuest(logic)). Add("Remove Ticket", () => RemoveTicket(logic)) .Add("Get Event Sale", () => ListSale(logic)) .Add("Get No. Of Males and Females in Event", () => NoOfMalesFemales(logic)) .Add("Tickets by Guest", () => TicketsByGuest(logic)) .Add("Quit", ConsoleMenu.Close); menu.Show(); }
public void TestEventAdd() { Mock <IEventRepository> eventRepo = new Mock <IEventRepository>(); Mock <ITicketRepository> ticketRepo = new Mock <ITicketRepository>(); Mock <IGuestRepository> guestRepo = new Mock <IGuestRepository>(); Mock <IAdminUserRepository> adminRepo = new Mock <IAdminUserRepository>(); eventRepo.Setup(m => m.Insert(It.IsAny <Events>())); Events testEvent = new Events() { Name = "DanceParty", OganizarName = "Sonika", StartDate = "12-12-2020", EndDate = "13-12-2020", Place = "India", EntryFee = 1000, }; AdminstratorLogic logic = new AdminstratorLogic(ticketRepo.Object, eventRepo.Object, guestRepo.Object, adminRepo.Object); logic.Add(testEvent.Name, testEvent.OganizarName, testEvent.EndDate, testEvent.StartDate, testEvent.Place, testEvent.EntryFee); eventRepo.Verify(repo => repo.Insert(It.IsAny <Events>())); }