public IEnumerable <BattleModel> Get([FromBody] BattleRequest request) { using (var db = new ZkDataContext()) { return(db.SpringBattles.Where(x => request.battleIds.Contains(x.SpringBattleID)).Include(x => x.SpringBattlePlayers).ToList().Select(bat => new BattleModel(bat)).ToList()); } }
public void ReturnError_WhenVillainNameIsEmpty() { var request = new BattleRequest { Hero = "hero", Villain = string.Empty }; var validationResult = _sut.Validate(request); Assert.True(validationResult.Errors.Count > 0); }
public void Validate_WhenRequestIsValid() { var request = new BattleRequest { Hero = "hero", Villain = "villain" }; var validationResult = _sut.Validate(request); Assert.True(validationResult.Errors.Count == 0); }
public async Task ReturnBadRequest_WhenBatmanChallengesSuperman() { var request = new BattleRequest { Hero = "Batman", Villain = "Superman" }; var response = await _battleHandler.HandleAsync(request); var expectedResult = new BadRequestObjectResult("The villain you're looking for could not be found!"); Assert.IsType <BadRequestObjectResult>(response); Assert.Matches(((BadRequestObjectResult)response).Value.ToString(), expectedResult.Value.ToString()); }
public async Task ReturnSupermanAsWinner_WhenBattleWithLexLuthor() { var request = new BattleRequest { Hero = "Superman", Villain = "Lex Luthor" }; var response = await _battleHandler.HandleAsync(request); var expectedWinner = await _characterProvider.GetCharacter("Superman", "hero"); Assert.IsType <OkObjectResult>(response); Assert.Same(((OkObjectResult)response).Value, expectedWinner); }
public async Task ReturnJokerAsWinner_WhenBattleWithBatman() { var request = new BattleRequest { Hero = "Batman", Villain = "Joker" }; var response = await _battleHandler.HandleAsync(request); var expectedWinner = await _characterProvider.GetCharacter("Joker", "villain"); Assert.IsType <OkObjectResult>(response); Assert.Same(((OkObjectResult)response).Value, expectedWinner); }
public async Task ReturnBadRequest_WhenNoHeroFoundWithGivenName() { var request = new BattleRequest { Hero = "He-man", Villain = "Joker" }; var response = await _battleHandler.HandleAsync(request); var expectedResult = new BadRequestObjectResult("The hero you're looking for could not be found!"); Assert.IsType <BadRequestObjectResult>(response); Assert.Matches(((BadRequestObjectResult)response).Value.ToString(), expectedResult.Value.ToString()); }
public async Task <ActionResult <BattleRequest> > SimulateBattle(BattleRequest battleRequest) { if (battleRequest.Team1TankIds.Length == 0 || battleRequest.Team2TankIds.Length == 0) { return(BadRequest()); } BattleManager battleManager = new BattleManager(_dbContext, battleRequest); Battle battle = await battleManager.SimulateAsync(); return(CreatedAtAction(nameof(GetBattleResult), new { id = battle.Id }, battle)); }