public async Task CreateTournamentEndpointShouldFailIfTournamentAlreadyExists() { using (var httpClient = _factory.CreateClient()) using (var request1 = new HttpRequestMessage(HttpMethod.Put, "api/tournament/")) using (var request2 = new HttpRequestMessage(HttpMethod.Put, "api/tournament/")) { var model = new TournamentCreateModel { TeamsCount = 2, TournamentName = Guid.NewGuid().ToString() }; request1.Content = new ObjectContent <TournamentCreateModel>(model, new JsonMediaTypeFormatter(), MediaTypeNames.Application.Json); request2.Content = new ObjectContent <TournamentCreateModel>(model, new JsonMediaTypeFormatter(), MediaTypeNames.Application.Json); using (var response1 = await httpClient.SendAsync(request1)) using (var response2 = await httpClient.SendAsync(request2)) { response1.StatusCode.ShouldBe(HttpStatusCode.OK); response2.StatusCode.ShouldNotBe(HttpStatusCode.OK); } } }
public async Task <IActionResult> CreateTournament(TournamentCreateModel model) { var request = new CreateTournamentRequest(model.TournamentName, model.TeamsCount); var tournament = await _mediator.Send(request); return(Ok(tournament.Name)); }
public async Task CreateTournamentEndpointShouldCreateItWithALotOfTeams() { using (var httpClient = _factory.CreateClient()) using (var request = new HttpRequestMessage(HttpMethod.Put, "api/tournament/?tournamentName=first")) { var model = new TournamentCreateModel { TournamentName = Guid.NewGuid().ToString(), TeamsCount = 4 }; request.Content = new ObjectContent <TournamentCreateModel>(model, new JsonMediaTypeFormatter(), MediaTypeNames.Application.Json); using (var response = await httpClient.SendAsync(request)) { response.StatusCode.ShouldBe(HttpStatusCode.OK); using (var getRequest = new HttpRequestMessage(HttpMethod.Get, $"api/tournament/?tournamentName={model.TournamentName}")) using (var getResponse = await httpClient.SendAsync(getRequest)) { response.StatusCode.ShouldBe(HttpStatusCode.OK); var content = await getResponse.Content.ReadAsAsync <TournamentModel>(); var homeTeams = content.Rounds.SelectMany(x => x.Games) .Select(x => x.HomeTeam) .Distinct() .ToArray(); var guestTeams = content.Rounds.SelectMany(x => x.Games) .Select(x => x.HomeTeam) .Distinct() .ToArray(); homeTeams.Length.ShouldBe(guestTeams.Length); homeTeams.Length.ShouldBe(model.TeamsCount); } } } }
public async Task CreateTournamentEndpointShouldCreateItEventWoName() { using (var httpClient = _factory.CreateClient()) using (var request = new HttpRequestMessage(HttpMethod.Put, "api/tournament/")) { var model = new TournamentCreateModel { TeamsCount = 4 }; request.Content = new ObjectContent <TournamentCreateModel>(model, new JsonMediaTypeFormatter(), MediaTypeNames.Application.Json); using (var response = await httpClient.SendAsync(request)) { response.StatusCode.ShouldBe(HttpStatusCode.OK); } } }
public ActionResult Create() { var userManager = Request.GetOwinContext().GetUserManager <ApplicationUserManager>(); var roleManager = Request.GetOwinContext().Get <ApplicationRoleManager>(); var role = roleManager.Roles.Single(r => r.Name == "Host"); var hosts = userManager.Users.Where(u => u.Roles.Any(r => r.RoleId == role.Id)).Select(x => new SelectListItem { Text = x.UserName, Value = x.Id }).ToList(); var userId = User.Identity.GetUserId(); hosts.Remove(hosts.First(x => x.Value == userId)); var model = new TournamentCreateModel() { Year = DateTime.Now.Year, HostsAvailable = hosts }; return(View(model)); }
public ActionResult Create(TournamentCreateModel model, params string[] selectedHost) { if (!ModelState.IsValid) { return(View(model)); } var modelBL = _mapper.Map <TournamentBL>(model); if (selectedHost == null) { selectedHost = new string[] { } } ; var userId = User.Identity.GetUserId(); modelBL.HostsId = $"{userId};{string.Join(";", selectedHost)}"; modelBL.DateCreated = DateTime.Now; _tournamentService.Create(modelBL); return(RedirectToAction("Index")); }
public async Task Create(TournamentCreateModel model) { var obj = _mapper.Map <Tournament>(model); await _repository.CreateAndSaveAsync(obj); }
//[Authorize(Roles = PlayerRolesConst.MainPlayer)] public async Task <IActionResult> Create(TournamentCreateModel model) { await _tournamentService.Create(model); return(Ok()); }