public void CodeService_success() { //Arrange var mockService = new Mock <IDatabase>(); var service = new CodeService(mockService.Object); var vm = new CodeRedeemViewModel { Code = "", UserAccountId = "" }; mockService.Setup(serv => serv.FindGameKey("")) .Returns((new GameKey { GameId = 1, IsRedeemed = false })); mockService.Setup(serv => serv.FindOwnership("")) .Returns((new List <Ownership>())); //Act var result = service.RedeemCode(vm: vm); //Assert Assert.True(result); }
public IActionResult RedeemCode([FromBody] CodeRedeemViewModel vm) { if (ModelState.IsValid) { if (_codeService.RedeemCode(vm)) { return(Ok()); } else { return(BadRequest()); } } else { return(BadRequest()); } }
public void CodeService_NoKey() { //Arrange var mockService = new Mock <IDatabase>(); var service = new CodeService(mockService.Object); var vm = new CodeRedeemViewModel { Code = "", UserAccountId = "" }; mockService.Setup(serv => serv.FindGameKey("")) .Returns((GameKey)null); //Act var result = service.RedeemCode(vm: vm); //Assert Assert.False(result); }
public void CodeController_RedeemCode() { //Arrange var vm = new CodeRedeemViewModel { UserAccountId = "1", Code = "1" }; var mockService = new Mock <ICodeService>(); mockService.Setup(serv => serv.RedeemCode(vm)) .Returns(true); var controller = new CodeController(mockService.Object); //Act var result = controller.RedeemCode(vm: vm); //Assert Assert.IsType <OkResult>(result); }
public bool RedeemCode(CodeRedeemViewModel vm) { var key = _db.FindGameKey(vm.Code); if (key == null) { return(false); } var ownership = _db.FindOwnership(vm.UserAccountId).FirstOrDefault(owned => owned.GameId == key.GameId); if (ownership != null) { return(false); } key.Redeem(); _db.NewOwnership(key.GameId, DateTime.Today.ToString("yyyy-MM-dd"), Models.OwnershipState.Owned, vm.UserAccountId); return(true); }