public void Authorize_NonLoggedUser_ShouldThrowException() { var data = new HotelBookingSystemData(); var controller = new Controller(data, null); controller.Authorize(Roles.VenueAdmin); }
public void TestAuthorize_NoSufficientRights_ShouldPass() { var database = new HotelBookingSystemData(); var controller = new VenuesController(database, new User("Alex123", "alexredis", Roles.VenueAdmin)); controller.Add("No name", "Sofia", "Omg"); }
public void Authorize_WrongRole_ShouldThrowException() { var data = new HotelBookingSystemData(); var controller = new Controller(data, new User(UsernameOne, PasswordOne, Roles.User)); controller.Authorize(Roles.VenueAdmin); }
public void TestLogout_WithoutLoggedUser_ShouldThrow() { var database = new HotelBookingSystemData(); var controller = new UsersController(database, null); controller.Logout(); }
public void TestAuthorize_NotLoggedUser_ShouldReturnException() { var database = new HotelBookingSystemData(); var controller = new VenuesController(database, null); controller.Details(1); }
public void TestAuthorize_ValidUser_ShouldPass() { var database = new HotelBookingSystemData(); var controller = new VenuesController(database, new User("No admin", "admina", Roles.VenueAdmin)); controller.Add("No name", "No address", "No description"); }
public void TestAuthorize_NoSufficientRights_ShouldReturnException() { var database = new HotelBookingSystemData(); var controller = new VenuesController(database, new User("No admin", "admina", Roles.User)); controller.Add("No name", "No address", "No description"); }
public void Logout_NotLoggedInUser_ShouldThrowException() { var data = new HotelBookingSystemData(); var userController = new UsersController(data, null); var view = userController.Logout(); }
public void TestAllVenuesWithoutVenuesCorrectReturnString() { const string expected = "There are currently no venues to show."; var database = new HotelBookingSystemData(); var controller = new VenuesController(database, null); var result = controller.All().Display(); Assert.AreEqual(expected, result); }
public void TestLogout_WithLoggedUser_CurrentUserIsNull() { var database = new HotelBookingSystemData(); var controller = new UsersController(database, new User("No admin", "admina", Roles.VenueAdmin)); controller.Logout(); var result = controller.CurrentUser; Assert.IsNull(result); }
public void TestLogout_WithLoggedUser_ShouldPass() { var database = new HotelBookingSystemData(); var controller = new UsersController(database, new User("Alex123", "alexredis", Roles.VenueAdmin)); controller.Logout(); var result = controller.CurrentUser; Assert.IsNull(result); }
public static void Main() { System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture; IHotelBookingSystemData database = new HotelBookingSystemData(); IInputReader reader = new ConsoleReader(); IOutputWriter writer = new ConsoleWriter(); var engine = new Engine(database, reader, writer); engine.StartOperation(); }
public static void Main() { System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture; var database = new HotelBookingSystemData(); var reader = new ConsoleInputReader(); var writer = new ConsoleOutputWriter(); var engine = new Engine(database, reader, writer); engine.StartOperation(); }
public void TestAuthorizeMethodWithEmptyUser() { string userName = "******"; string password = "******"; User user = new User(userName, password, Role.User); var database = new HotelBookingSystemData(); var controler = new UsersController(database, user); controler.Login(userName, password); controler.Logout(); controler.Logout(); }
public void ViewAll_VenuesWithNotLoggedInUser_ShouldReturnExpectedMessage() { var data = new HotelBookingSystemData(); var venuesController = new VenuesController(data, null); var view = venuesController.All(); string actualResult = view.Display(); var expectedResult = "There are currently no venues to show."; Assert.AreEqual(expectedResult, actualResult, "All venues did not return expected view!"); }
public void ViewAll_NoVenuesWithLoggedUser_ShouldReturnExpectedMessage() { var data = new HotelBookingSystemData(); var user = new User(UsernameOne, PasswordOne, Roles.User); var venuesController = new VenuesController(data, user); var view = venuesController.All(); string actualResult = view.Display(); var expectedResult = "There are currently no venues to show."; Assert.AreEqual(expectedResult, actualResult, "All venues did not return expected view!"); }
public void VenuesAllNoVenues_ShouldReturnCorrectResult() { // Arrange IHotelBookingSystemData data = new HotelBookingSystemData(); User user = new User("test user", "password", Roles.User); VenuesController controller = new VenuesController(data, user); // Act IView view = controller.All(); string result = view.Display(); string expected = "There are currently no venues to show."; // Assert Assert.AreEqual(expected, result); }
public void Logout_LoggedVenueAdmin_ShouldReturnLogoutView() { var data = new HotelBookingSystemData(); var user = new User(UsernameOne, PasswordOne, Roles.VenueAdmin); var userController = new UsersController(data, user); var view = userController.Logout(); var actualResult = view.Display(); var expectedResult = string.Format($"The user {user.Username} has logged out."); Assert.AreEqual(expectedResult, actualResult, "Does not log out logged in user."); }
public void UsersLogoutValidUser_ShouldReturnCorrectResult() { // Arrange IHotelBookingSystemData data = new HotelBookingSystemData(); User user = new User("test user", "password", Roles.User); UsersController controller = new UsersController(data, user); // Act controller.CurrentUser = user; IView view = controller.Logout(); string result = view.Display(); string expected = "The user test user has logged out."; // Assert Assert.AreEqual(expected, result); }
public void VenuesAll_VenuesInDataWithNoLoggedInUser_ShouldReturnExpectedView() { var data = new HotelBookingSystemData(); var venuesController = new VenuesController(data, null); venuesController.Add("Valentin", "Sveti", "Praznik, na koito vsichki praznuvat, no ne i az."); var view = venuesController.All(); string actualResult = view.Display(); var expectedResult = new StringBuilder(); expectedResult.AppendFormat($"*[{1}] {"Valentin"}, located at {"Sveti"}").AppendLine(); expectedResult.Append("Free rooms: 0"); Assert.AreEqual(expectedResult.ToString(), actualResult, "All venues did not return expected view!"); }
public void VenuesAllThreeVenues_ShouldReturnCorrectResult() { // Arrange IHotelBookingSystemData data = new HotelBookingSystemData(); User user = new User("test user", "password", Roles.User); VenuesController controller = new VenuesController(data, user); // Act controller.Add("venue name1", "Pernik", "test"); controller.Add("venue name2", "Pernik", "test"); controller.Add("venue name3", "Pernik", "test"); IView view = controller.All(); string result = view.Display(); string expected = "*[1] venue name1, located at Pernik\r\nFree rooms: 0\r\n*[2] venue name2, located at Pernik\r\nFree rooms: 0\r\n*[3] venue name3, located at Pernik\r\nFree rooms: 0"; // Assert Assert.AreEqual(expected, result); }
public void StartOperation() { var database = new HotelBookingSystemData(); IUser currentUser = null; while (true) { string url = Console.ReadLine(); if (url == null) { break; } IEndpoint executionEndpoint = new Endpoint(url); var controllerType = Assembly.GetExecutingAssembly().GetTypes() .FirstOrDefault(type => type.Name == executionEndpoint.ControllerName); var action = controllerType.GetMethod(executionEndpoint.ActionName); object[] parameters = MapParameters(executionEndpoint, action); var controller = Activator.CreateInstance(controllerType, database, currentUser) as Controller; string viewResult = string.Empty; try { var view = action.Invoke(controller, parameters) as IView; viewResult = view.Display(); currentUser = controller.CurrentUser; } catch (TargetInvocationException ex) { var errorView = new Error(ex.InnerException.Message); viewResult = errorView.Display(); } //catch (InvalidOperationException ex) //{ // var errorView = new Error(ex.InnerException.Message); // viewResult = errorView.Display(); //} Console.WriteLine(viewResult); } }
public void TestAllVenuesWithVenuesCorrectReturnString() { var newresultString = new StringBuilder(); newresultString.AppendLine("*[1] parvo venue, located at Chepelare") .AppendLine("Free rooms: 0"); newresultString.AppendLine("*[2] Manifestaciq, located at Pred narodnoto") .AppendLine("Free rooms: 0"); string expected = newresultString.ToString().Trim(); var database = new HotelBookingSystemData(); var controller = new VenuesController(database, new User("Alex123", "alexredis", Roles.VenueAdmin)); controller.Add("parvo venue", "Chepelare", "omg"); controller.Add("Manifestaciq", "Pred narodnoto", "oasdmg"); var result = controller.All().Display(); Assert.AreEqual(expected, result); }
public void Run() { var database = new HotelBookingSystemData(); User currentUser = null; while (true) { string url = Console.ReadLine(); if (url == null) { break; } var executionEndpoint = new Endpoint(url); var controllerType = Assembly .GetExecutingAssembly() .GetTypes() .FirstOrDefault( type => type.Name == executionEndpoint.ControllerName); var controller = Activator.CreateInstance(controllerType, database, currentUser) as Controller; var action = controllerType.GetMethod(executionEndpoint.ActionName); object[] parameters = MapParameters(executionEndpoint, action); string viewResult = string.Empty; try { var view = action.Invoke(controller, parameters) as IView; viewResult = view.Display(); currentUser = controller.CurrentUser; } catch (Exception ex) { viewResult = new Error(ex.InnerException.Message).Display(); } Console.WriteLine(viewResult); } }
public void TestAllVenues_WithVenues_CorrectReturnedString() { var resultString = new StringBuilder(); resultString.AppendLine("*[1] first venue, located at Chepelare") .AppendLine("Free rooms: 0"); resultString.AppendLine("*[2] second venue, located at Sofia") .AppendLine("Free rooms: 0"); resultString.AppendLine("*[3] third venue, located at Plovdiv") .AppendLine("Free rooms: 0"); string expected = resultString.ToString().Trim(); var database = new HotelBookingSystemData(); var controller = new VenuesController(database, new User("No admin", "admina", Roles.VenueAdmin)); controller.Add("first venue", "Chepelare", "no"); controller.Add("second venue", "Sofia", "no"); controller.Add("third venue", "Plovdiv", "no"); var result = controller.All().Display(); Assert.AreEqual(expected, result); }
public void VenuesAll_VenuesInDataWithLoggedInUser_ShouldReturnExpectedView() { var data = new HotelBookingSystemData(); var user = new User(UsernameOne, PasswordOne, Roles.User); var venuesController = new VenuesController(data, user); venuesController.Add("Valentin", "Sveti", "Praznik, na koito vsichki praznuvat, no ne i az."); venuesController.Add("Halloween", "USA", "Praznika, na koito rupsitata izglejdat po-dobre - kop-kop."); var view = venuesController.All(); string actualResult = view.Display(); var expectedResult = new StringBuilder(); expectedResult.AppendFormat($"*[{1}] {"Valentin"}, located at {"Sveti"}").AppendLine(); expectedResult.AppendLine("Free rooms: 0"); expectedResult.AppendFormat($"*[{2}] {"Halloween"}, located at {"USA"}").AppendLine(); expectedResult.Append("Free rooms: 0"); Assert.AreEqual(expectedResult.ToString(), actualResult, "All venues did not return expected view!"); }
public void UsersLogoutNoUserLogged_ShouldThrowExceptionWithCorrectMessage() { // Arrange IHotelBookingSystemData data = new HotelBookingSystemData(); User user = new User("test user", "password", Roles.User); UsersController controller = new UsersController(data, user); // Act controller.CurrentUser = null; string result = string.Empty; try { IView view = controller.Logout(); } catch (Exception ex) { result = ex.Message; } string expected = "There is no currently logged in user."; // Assert Assert.AreEqual(expected, result); }