public void Test_Edit_Get_UnauthorizedRedirects()
        {
            // Arrange
            Route route = new Route();
            IAccountService accountService = MockRepository.GenerateStub<IAccountService>();
            IRouteService routeService = MockRepository.GenerateStub<IRouteService>();
            IFavouriteService favouriteService = MockRepository.GenerateStub<IFavouriteService>();
            routeService.Stub(s => s.Details(Arg<int>.Is.Anything, Arg<int?>.Is.Anything, out Arg<bool>.Out(true).Dummy, out Arg<bool>.Out(false).Dummy)).Return(route);
            RouteController controller = new RouteController(accountService, routeService, favouriteService);
            controller.Account = new Account { AccountID = 1 };

            // Act
            RedirectToRouteResult result = (RedirectToRouteResult)controller.Edit(1);

            // Assert
            Assert.AreEqual("Home", result.RouteValues["controller"]);
            Assert.AreEqual("Unauthorised", result.RouteValues["action"]);
        }
        public void Test_Edit_Get_Authorized()
        {
            // Arrange
            Route route = new Route();
            IAccountService accountService = MockRepository.GenerateStub<IAccountService>();
            IRouteService routeService = MockRepository.GenerateStub<IRouteService>();
            IFavouriteService favouriteService = MockRepository.GenerateStub<IFavouriteService>();
            routeService.Stub(s => s.Details(Arg<int>.Is.Anything, Arg<int?>.Is.Anything, out Arg<bool>.Out(true).Dummy, out Arg<bool>.Out(true).Dummy)).Return(route);
            RouteController controller = new RouteController(accountService, routeService, favouriteService);
            controller.Account = new Account {AccountID = 1};

            // Act
            ViewResult result = (ViewResult)controller.Edit(1);

            // Assert
            Assert.AreSame(route, result.Model);
        }