public void GetAllTeams_GetAllStoredTeams_ReturnNonEmptyResult() { //Arrange //Act var storedTeams = _sut.GetAllTeams(); //Assert Assert.AreNotEqual(0, storedTeams.Count()); }
public IActionResult Create([Bind(include: " Home, Away, Status")] EventViewModel eventViewModel) { var homeTeamName = eventViewModel.Home; var awayTeamName = eventViewModel.Away; var homeTeam = _sportingFixturesService.GetAllTeams().ToList().Find(t => t.Name == homeTeamName); var awayTeam = _sportingFixturesService.GetAllTeams().ToList().Find(t => t.Name == awayTeamName); if (String.IsNullOrEmpty(homeTeamName) || String.IsNullOrEmpty(awayTeamName)) { return(View(eventViewModel)); } var foundExistingEvent = _sportingFixturesService.GetAllEvents().ToList().Find(ev => ev.Home.Name == homeTeamName && ev.Away.Name == awayTeamName); if (foundExistingEvent != null) { ModelState.AddModelError("PostCreateEventError", $"The event {homeTeamName} - {awayTeamName} is already exists"); return(View(eventViewModel)); } if (homeTeam == null) { ModelState.AddModelError("PostCreateEventError", $"Home team with name {homeTeamName} does not exist in our database"); return(View(eventViewModel)); } if (awayTeam == null) { ModelState.AddModelError("PostCreateEventError", $"Away team with name {awayTeamName} does not exist in our database"); return(View(eventViewModel)); } if (homeTeamName == awayTeamName) { ModelState.AddModelError("PostCreateEventError", $"The provided event {homeTeamName} - {awayTeamName} has two teams with the same name. This is not allowed."); return(View(eventViewModel)); } Event newEvent = new Event() { Home = new Team { Id = homeTeam.Id, Name = homeTeam.Name, KnownName = homeTeam.KnownName }, Away = new Team { Id = awayTeam.Id, Name = awayTeam.Name, KnownName = awayTeam.KnownName }, Status = eventViewModel.Status }; bool isEventCreated = _sportingFixturesService.CreateEvent(newEvent); if (isEventCreated) { return(RedirectToAction(nameof(Index))); } else { ModelState.AddModelError("PostCreateEventError", $"Event \"{newEvent.Home.Name} - {newEvent.Away.Name}\" could not be inserted due to database error"); return(View()); } }
public IActionResult Index() { var model = _sportingFixturesService.GetAllTeams(); return(View(model)); }