public ActionResult Create(BetViewModel bet) { bool status = false; string message; User loggedinUser = (User)Session["LoggedInUser"]; UpcomingMatch match = (UpcomingMatch)Session["SelectedMatch"]; UserService userservice = new UserService(); if (ModelState.IsValid) { if (bet.Amount > 5) { if (bet.Amount < loggedinUser.Balance) { Bet newbet = new Bet() { UserID = loggedinUser.UserID, MatchID = match.MatchID, Prediction = bet.Prediction, Amount = bet.Amount }; status = betservice.CreateBet(newbet); if (status == true) { message = "Bet succesfully placed!"; userservice.RemoveFunds(loggedinUser, newbet.Amount); } else { message = "Database Error!"; } } else { message = "Not enough funds to make this bet."; } } else { message = "Bet amount must be higher than 5,- or try to use a comma."; } } else { message = "Invalid request."; } ViewBag.Status = status; ViewBag.Message = message; return(View(bet)); }
public void CanCreateBet() { var mockEvent = Common.CreateAndSaveMockEvent(EventController); var mockMarket = Common.CreateAndSaveMockMarket(mockEvent.Id, "Market Desc", 0.5m, MarketController); var newBet = BetService.CreateBet(new Bet() { BetAmount = 100, MarketId = mockMarket.Id }); Assert.NotNull(newBet.Id); }
public void CanGetSpecificBet() { var mockEvent = Common.CreateAndSaveMockEvent(EventController); var mockMarket = Common.CreateAndSaveMockMarket(mockEvent.Id, "Market Desc", 0.5m, MarketController); var newBet = BetService.CreateBet(new Bet() { BetAmount = 123, MarketId = mockMarket.Id }); Assert.Equal(BetService.GetById(newBet.Id).BetAmount, newBet.BetAmount); }
public void CanUpdateExistingBet() { var mockEvent = Common.CreateAndSaveMockEvent(EventController); var mockMarket = Common.CreateAndSaveMockMarket(mockEvent.Id, "Market Desc", 0.5m, MarketController); var createdBet = BetService.CreateBet(new Bet() { BetAmount = 123, MarketId = mockMarket.Id }); createdBet.BetAmount = 234; BetService.UpdateBet(createdBet); Assert.Equal(234, BetService.GetById(createdBet.Id).BetAmount); }
public void CreateBet() { //initiallizing var bet = new Bet(); var unitOfWork = new Mock <IUnitOfWork>(); var finder = new Mock <IBetFinder>(); var collection = new Mock <IRepository <Bet> >(); var service = new BetService(unitOfWork.Object, finder.Object, collection.Object); //act collection.Setup(x => x.Create(bet)) .Returns(new Bet()); service.CreateBet(bet); //assert collection.Verify(x => x.Create(bet), Times.Once); }
public void CanGetAllBets() { var mockEvent = Common.CreateAndSaveMockEvent(EventController); var mockMarket = Common.CreateAndSaveMockMarket(mockEvent.Id, "Market Desc", 0.5m, MarketController); BetService.CreateBet(new Bet() { BetAmount = 100, MarketId = mockMarket.Id }); BetService.CreateBet(new Bet() { BetAmount = 100, MarketId = mockMarket.Id }); BetService.CreateBet(new Bet() { BetAmount = 100, MarketId = mockMarket.Id }); Assert.Equal(3, BetService.GetAll().Count); }