Ejemplo n.º 1
0
        public void ExtendPeriodFailed()
        {
            // arrange
            var httpContext = new DefaultHttpContext();
            var tempData    = new TempDataDictionary(httpContext, Mock.Of <ITempDataProvider>());

            tempData["Error"] = "";
            var controller = new RentController(_rents.Object, _games.Object, _broker, _users.Object)
            {
                TempData = tempData
            };

            var testUser = new User {
                Id = 1, UserName = "******", Balance = 10, RentOrders = new List <RentOrder>()
            };
            var testRent = new RentOrder
            {
                Id               = 1,
                GameRented       = "God of War",
                user             = testUser,
                CurrentRentedDay = DateTime.Today,
                ExpiringDate     = DateTime.Today.AddDays(5),
                RentPeriod       = 5
            };

            testUser.RentOrders.Add(testRent);
            // inject http session variables
            _mockSession["Balance"]  = testUser.Balance;
            _mockSession["Username"] = testUser.UserName;
            _mockHttpContext.Setup(s => s.Session).Returns(_mockSession);
            controller.ControllerContext.HttpContext = _mockHttpContext.Object;

            _usersList.Add(testUser);
            _rentList.Add(testRent);
            // act
            // user initially had 115 balance
            var result = controller.Extend(testRent.Id, 5);

            //assert
            Assert.AreEqual(DateTime.Today.AddDays(5), testRent.ExpiringDate);
            Assert.AreEqual(10, testUser.Balance);
            var viewResult = (RedirectToActionResult)result.Result;

            Assert.AreEqual("DisplayRents", viewResult.ActionName);
            Assert.AreEqual("You don't have enough money to extend it's rent duartion", tempData["Error"]);
        }
Ejemplo n.º 2
0
        public void ExtendGamePeriod()
        {
            // arrange
            _broker = new MessageBroker(new ConnectionFactory()
            {
                Uri = new Uri("amqp://*****:*****@reindeer.rmq.cloudamqp.com/zswjrhxx")
            }.CreateConnection());
            var controller = new RentController(_rents.Object, _games.Object, _broker, _users.Object);
            var testUser   = new User {
                Id = 1, UserName = "******", Balance = 100, RentOrders = new List <RentOrder>()
            };
            var testRent = new RentOrder
            {
                Id               = 1,
                GameRented       = "God of War",
                user             = testUser,
                CurrentRentedDay = DateTime.Today,
                ExpiringDate     = DateTime.Today.AddDays(5),
                RentPeriod       = 5
            };

            testUser.RentOrders.Add(testRent);
            // inject http session variables
            _mockSession["Balance"]  = testUser.Balance;
            _mockSession["Username"] = testUser.UserName;
            _mockHttpContext.Setup(s => s.Session).Returns(_mockSession);
            controller.ControllerContext.HttpContext = _mockHttpContext.Object;

            _usersList.Add(testUser);
            _rentList.Add(testRent);
            // act
            // user initially had 115 balance
            var result = controller.Extend(testRent.Id, 5);

            //assert
            Assert.AreEqual(DateTime.Today.AddDays(10), testRent.ExpiringDate);
            Assert.AreEqual(85, testUser.Balance);
            var viewResult = (RedirectToActionResult)result.Result;

            Assert.AreEqual("DisplayRents", viewResult.ActionName);
        }