コード例 #1
0
        public void RejectThenDetail()
        {
            var mockUser = University.GetUser("e101");

            VisitorController vc = new VisitorController();

            vc.ControllerContext = new ControllerContext(MockAuthContext(mockUser).Object, new RouteData(), vc);

            ViewResult actionResult = vc.Detail("TEST1") as ViewResult;

            Assert.IsNotNull(actionResult);
            Assert.IsInstanceOfType(actionResult.Model, typeof(Visitor));
            Visitor model = actionResult.Model as Visitor;

            Assert.AreEqual(VisitorStatus.WaitingForApproval, model.Status);

            RedirectToRouteResult actionResult2 = vc.Reject(model.ID) as RedirectToRouteResult;

            Assert.AreEqual("List", actionResult2.RouteValues["action"]);

            ViewResult actionResult3 = vc.Detail("TEST1") as ViewResult;

            Assert.IsNotNull(actionResult3);
            Assert.IsInstanceOfType(actionResult3.Model, typeof(Visitor));
            Visitor model2 = actionResult3.Model as Visitor;

            Assert.AreEqual(VisitorStatus.Rejected, model2.Status);
            Assert.IsNotNull(model2.ApproveDate);
        }
コード例 #2
0
        public void DetailNotFound()
        {
            VisitorController    vc           = new VisitorController();
            HttpStatusCodeResult actionResult = vc.Detail(Guid.NewGuid().ToString()) as HttpStatusCodeResult;

            Assert.IsNotNull(actionResult);
            Assert.AreEqual(404, actionResult.StatusCode);
        }
コード例 #3
0
        public void ApproveWithAnotherUserAuth()
        {
            var mockUser = University.GetUser("e100");

            VisitorController vc = new VisitorController();

            vc.ControllerContext = new ControllerContext(MockAuthContext(mockUser).Object, new RouteData(), vc);

            ViewResult actionResult = vc.Detail("TEST1") as ViewResult;

            Assert.IsNotNull(actionResult);
            Assert.IsInstanceOfType(actionResult.Model, typeof(Visitor));
            Visitor model = actionResult.Model as Visitor;

            Assert.AreEqual(VisitorStatus.WaitingForApproval, model.Status);
            Assert.ThrowsException <HttpAntiForgeryException>(() => vc.Approve(model.ID));
        }
コード例 #4
0
        public void ApplyThenDetail()
        {
            var visitor = new Visitor
            {
                Description = "For testing purpose",
                Email       = "*****@*****.**",
                Name        = "Test Person",
                VisitDate   = DateTime.Today,
                User        = new User()
                {
                    UID = "e101"
                },
                Vehicle = new Vehicle {
                    OwnerName = "Test Owner", PlateNumber = "06AB123", RegistrationNumber = "AB12313", Type = VehicleType.Car
                }
            };

            VisitorController     vc           = new VisitorController();
            RedirectToRouteResult actionResult = vc.Apply(visitor) as RedirectToRouteResult;

            Assert.IsNotNull(actionResult);
            Assert.AreEqual("Detail", actionResult.RouteValues["action"]);
            Assert.AreEqual("Visitor", actionResult.RouteValues["controller"]);
            Assert.IsNotNull(actionResult.RouteValues["UID"]);
            Assert.AreEqual(1, actionResult.RouteValues["success"]);

            ViewResult viewResult = vc.Detail(actionResult.RouteValues["UID"].ToString()) as ViewResult;

            Assert.IsNotNull(viewResult);
            Assert.IsInstanceOfType(viewResult.Model, typeof(Visitor));
            Visitor model = viewResult.Model as Visitor;

            Assert.AreEqual(visitor.Name, model.Name);
            Assert.AreEqual(visitor.Email, model.Email);
            Assert.AreEqual(VisitorStatus.WaitingForApproval, model.Status);
        }