public void CanCreateAGameThatIsPrivate() { var date = DateTime.Now; SetupMockSportLocationAndGameRepos(); _mockGameRepo = new Mock<ITeamGameRepository>(); _teamTeamGame = new TeamGame(date, _sport, _location) { IsPrivate = true }; var nonPrivateGame = new TeamGame(date, _sport, _location); _mockGameFactory = new Mock<IGameFactory>(); _mockGameFactory.Setup(x => x.CreateGameWithTeams(It.IsAny<DateTime>(), It.IsAny<Sport>(), It.IsAny<Location>(), true)).Returns( _teamTeamGame); _mockGameFactory.Setup(x => x.CreateGameWithTeams(It.IsAny<DateTime>(), It.IsAny<Sport>(), It.IsAny<Location>(), false)).Returns( nonPrivateGame); _mockGameRepo.Setup(x => x.SaveTeamGame(It.IsAny<TeamGame>())).Verifiable(); const string location = LocationName; var request = new CreateTeamGameRequest { DateTime = date.ToLongDateString(), Location = location, MaxPlayers = 5, MinPlayers = 3, Sport = SoccerName, IsPrivate = true }; var handler = CreateHandler(); var response = handler.Handle(request); _mockGameRepo.Verify(x => x.SaveTeamGame(_teamTeamGame), Times.AtLeastOnce()); Assert.That(response.Status, Is.EqualTo(ResponseCodes.Success)); }
public void CanSearchForGamesViaLocationAndSportType() { var soccer = TestData.CreateSoccerGame(); var basketball = TestData.CreateBasketballGame(); var location1 = TestData.CreateLocationBend(); var location2 = TestData.CreateLocationHamsterville(); var soccerGame1 = new TeamGame(DateTime.Now, soccer, location1); var soccerGame2 = new TeamGame(DateTime.Now, soccer, location2); var basketballGame = new TeamGame(DateTime.Now, basketball, location1); var listOfGames = new List<TeamGame> { soccerGame1, soccerGame2, basketballGame }; var request = new SearchForTeamGameRequest() { Location = location1.Name, Sport = soccer.Name }; _gameRepository = new Mock<ITeamGameRepository>(); _gameRepository.Setup(x => x.FindTeamGameByLocation(It.Is<string>(d => d == location1.Name))) .Returns(listOfGames.Where(x => x.Location == location1.Name).ToList()); var handler = new SearchForTeamGameRequestHandle(_gameRepository.Object); var response = handler.Handle(request); Assert.That(response.GamesFound.Count, Is.EqualTo(1)); Assert.That(response.GamesFound[0].Location, Is.EqualTo(location1.Name)); Assert.That(response.GamesFound[0].Sport, Is.EqualTo(soccer.Name)); }
public void CanSaveAndGetGamesWithTeams() { _data.CreateAccount1(); var profile = _data.CreateProfileForAccount1(); _data.CreateLocationBend(); _data.CreateSoccerSport(); var team = _data.CreateTeam1(); var game = new TeamGame(DateTime.Now, new Sport(), new Location()); game.MaxPlayers = 5; game.MinPlayers = 3; game.IsPrivate = true; game.Sport = "Soccer"; game.Location = "Bend"; game.AddTeam(team.Id); game.Creator = profile.ProfileName; _repo.SaveTeamGame(game); var retrievedGame = _repo.GetTeamGameById(game.Id); Assert.That(game.Id, Is.EqualTo(retrievedGame.Id)); Assert.That(retrievedGame.Location, Is.EqualTo(game.Location)); Assert.That(retrievedGame.Sport, Is.EqualTo(game.Sport)); Assert.That(retrievedGame.IsPrivate, Is.EqualTo(game.IsPrivate)); Assert.That(retrievedGame.MinPlayers, Is.EqualTo(game.MinPlayers)); Assert.That(retrievedGame.MaxPlayers, Is.EqualTo(game.MaxPlayers)); Assert.That(retrievedGame.DateTime, Is.InRange(game.DateTime.AddSeconds(-1), game.DateTime.AddSeconds(1))); Assert.That(retrievedGame.TeamsIds[0], Is.EqualTo(team.Id)); Assert.That(retrievedGame.Creator, Is.EqualTo(game.Creator)); }
public void CanCheckIfGameIsFull() { var game = new TeamGame(DateTime.Now, new Sport(), new Location()); game.TeamsIds.Add("123"); game.TeamsIds.Add("123"); Assert.True(game.IsFull()); }
public void CanOnlyDeleteIfOwnerOfGame() { var teamGame = new TeamGame(DateTime.Now, new Sport(), new Location()) { Creator = "MooCreator" }; var teamGameRepo = new Mock<ITeamGameRepository>(); teamGameRepo.Setup(x => x.GetTeamGameById(teamGame.Id)).Returns(teamGame); var request = new DeleteTeamGameRequest { GameId = teamGame.Id, ProfileId = "CowCreator" }; var handler = new DeleteTeamGameRequestHandle(teamGameRepo.Object); var response = handler.Handle(request); Assert.That(response.Status, Is.EqualTo(ResponseCodes.NotCreator)); teamGameRepo.Verify(x => x.DeleteGame(teamGame.Id), Times.Never()); }
public void CanGetGamesForProfile() { var profileId = "1234"; var pickUpGame = new PickUpGame(DateTime.Now, new Sport(), new Location()); var gameWithTeams = new TeamGame(DateTime.Now, new Sport(), new Location()); var gameRepo = new Mock<IPickUpGameRepository>(); var teamRepo = new Mock<ITeamGameRepository>(); gameRepo.Setup(x => x.GetPickupGamesForProfile(profileId)).Returns(new List<PickUpGame> { pickUpGame }); teamRepo.Setup(x => x.GetTeamGamesForProfile(profileId)).Returns(new List<TeamGame> { gameWithTeams }); var request = new GetGamesForProfileRequest { ProfileId = profileId }; var handler = new GetGamesForProfileRequestHandle(gameRepo.Object, teamRepo.Object); var response = handler.Handle(request); //Assert.That(response.TeamGames[0], Is.SameAs(gameWithTeams)); Assert.That(response.PickupGames[0], Is.SameAs(pickUpGame)); }
public void IfNoSportWasSpecifiedItDoesNotFilter() { var soccer = TestData.CreateSoccerGame(); var location1 = TestData.CreateLocationBend(); var soccerGame1 = new TeamGame(DateTime.Now, soccer, location1); var listOfGames = new List<TeamGame> { soccerGame1 }; var request = new SearchForTeamGameRequest { Location = location1.Name, Sport = string.Empty }; _gameRepository = new Mock<ITeamGameRepository>(); _gameRepository.Setup(x => x.FindTeamGameByLocation(It.Is<string>(d => d == location1.Name))) .Returns(listOfGames.Where(x => x.Location == location1.Name).ToList()); var handler = new SearchForTeamGameRequestHandle(_gameRepository.Object); var response = handler.Handle(request); Assert.That(response.GamesFound.Count, Is.EqualTo(1)); Assert.That(response.GamesFound[0].Location, Is.EqualTo(location1.Name)); Assert.That(response.GamesFound[0].Sport, Is.EqualTo(soccer.Name)); }
public void CanCreateAGameWithNoTeams() { SetupMockSportLocationAndGameRepos(); var request = new CreateTeamGameRequest() { DateTime = "03/03/03 12:00", Location = LocationName, MaxPlayers = 5, MinPlayers = 3, Sport = SoccerName }; var gameWithoutTeams = new TeamGame(DateTime.Parse(request.DateTime), _sport, _location); _mockGameFactory.Setup( x => x.CreateGameWithTeams(It.Is<DateTime>(d => d == DateTime.Parse(request.DateTime)) , It.Is<Sport>(d => d == _sport), It.Is<Location>(d => d == _location), It.IsAny<bool>())).Returns( gameWithoutTeams); _mockGameRepo.Setup(x => x.SaveTeamGame(It.Is<TeamGame>(d => d == gameWithoutTeams))); var handler = CreateHandler(); var response = handler.Handle(request); Assert.That(response.Status, Is.EqualTo(ResponseCodes.Success)); }
public void SetUp() { _teamGame = new TeamGame(DateTime.Now, new Sport(), new Location()); }
private void CreateMockRepositoriesThatReturn(TeamGame teamGame) { _gameRepository = new Mock<ITeamGameRepository>(); _gameRepository.Setup(x => x.GetTeamGameById(teamGame.Id)).Returns(teamGame); }
private void AssertGameWithTeamsWasCreatedAndDataLinesUp(TeamGame teamGame) { Assert.NotNull(teamGame); Assert.That(teamGame.Sport, Is.EqualTo("Soccer")); Assert.That(teamGame.Location, Is.EqualTo(_location.Name)); }
public void SetUp() { _sport = new Sport { Name = SoccerName }; _location = new Location { Name = LocationName }; _teamTeamGame = new TeamGame(DateTime.Now, _sport, _location); _mockGameRepo = new Mock<ITeamGameRepository>(); }
public TeamGame CreateGameWithTeams1And2() { var game = new TeamGame(DateTime.Now, new Sport(), new Location()); game.MaxPlayers = 5; game.MinPlayers = 3; game.IsPrivate = true; game.Sport = SoccerName; game.Location = LocationBendName; game.AddTeam(TeamId1); game.AddTeam(TeamId2); game.Creator = Profile2Id; new TeamGameRepository().SaveTeamGame(game); GameWithTeamsId = game.Id; return game; }
public void SaveTeamGame(TeamGame teamGame) { throw new NotImplementedException(); }