Example #1
0
        public void PlaceBet_ShouldFillAllRequiredFieldsColor()
        {
            // Arrange
            User user = new User("Test", repo.CreateUserDAL(), repo.CreateBetDAL())
            {
                Id = 50
            };
            IBet bet = new ColorBet(InterfaceLayerBD.Bet.IPocketColor.Black)
            {
                Stake = 200
            };

            using (TransactionScope scope = new TransactionScope())
            {
                // Act
                user.MakeBet(bet);

                var savedBet = repo.CreateBetDAL().GetCurrentBet(user.Id);

                // Assert
                Assert.Equal(bet.Stake, savedBet.Stake);
                Assert.Equal(bet.Odd, savedBet.Odd);
                // Cast this to int because that's the value you would get from the database.
                Assert.Equal((int)bet.GetBetSpecificInfo()["Color"], savedBet.GetBetSpecificInfo()["Color"]);
            }
        }