public void CreateTournament_PrizeLessThanUserCurrency_Test() { //Arrange TournamentManager tournament = new TournamentManager("Test"); TournamentDTO tournamentDTO = new TournamentDTO() { ID = "", Name = "Test Tournament", OrganisationID = "null", UserID = "021d968c-b151-4399-903e-19d867f08e5a", Size = 32, Prize = 9, BuyIn = 0, Game = Games.CounterStrike, StartTime = new DateTime(2021, 2, 1, 12, 00, 00), Status = TourneyStatus.Planned, TeamSize = 1 }; //Act var result = tournament.CreateTournament(tournamentDTO); //Assert Assert.AreEqual(TournamentManagerErrorCodes.NoError, result); }
public void CreateTournament_NoHost_Test() { //Arrange TournamentManager tournament = new TournamentManager("Test"); TournamentDTO tournamentDTO = new TournamentDTO() { ID = "", Name = "Test Tournament", OrganisationID = "null", UserID = "null", Size = 32, Prize = 0, BuyIn = 0, Game = Games.CounterStrike, StartTime = new DateTime(2021, 2, 1, 12, 00, 00), Status = TourneyStatus.Planned, TeamSize = 1 }; //Act var result = tournament.CreateTournament(tournamentDTO); //Assert Assert.AreEqual(TournamentManagerErrorCodes.NoHost, result); }
public async Task <IActionResult> CreateTournament(CreateTournamentViewModel model) { var currentUser = await userManager.GetUserAsync(User); TournamentDTO tournamentDTO = new TournamentDTO() { Name = model.Name, OrganisationID = model.OrganisationID, UserID = currentUser.Id, Size = model.Size, Prize = model.Prize, BuyIn = model.BuyIn, Game = model.Game, StartTime = model.StartTime, TeamSize = model.TeamSize }; var result = tournamentManager.CreateTournament(tournamentDTO); ViewData["Creator"] = model.OrganisationID == "null" ? "User" : "Org"; ViewData["OrgName"] = model.OrganisationID == "null" ? null : organisationManager.GetOrganisationByID(model.OrganisationID).Name; ViewData["UserName"] = currentUser.UserName; switch (result) { case TournamentManagerErrorCodes.NoError: return(RedirectToAction("Index")); case TournamentManagerErrorCodes.BuyInMoreOrEqualToPrize: ModelState.AddModelError("BuyIn", "Buy In can't be less or equal to prize!"); return(View(model)); case TournamentManagerErrorCodes.NoHost: return(RedirectToAction("Error", "Home", new { errorMessage = "There was no Host assigned to the tournament!", errorDate = DateTime.Now })); case TournamentManagerErrorCodes.NotEnoughMoney: ModelState.AddModelError("Prize", "You don't have enough currency to create a tournament with such a prize pool!"); return(View(model)); case TournamentManagerErrorCodes.UnexpectedError: default: return(RedirectToAction("Error", "Home", new { errorMessage = "An Unknown error occured while creating a tournament", errorDate = DateTime.Now })); } }