Example #1
0
        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);
        }
Example #5
0
        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);
        }