public void PageWithNameReturnsPageResult()
        {
            var controller = new DelegatingController("MyController", "DoStuff");
            var result     = controller.Call <PageResult>("Page", "Foo");

            Assert.AreEqual("Foo", result.ViewName);
        }
        public void CancelReturnsDoNothingResult()
        {
            var controller = new DelegatingController();
            var result     = controller.Call <ActionResult>("Cancel");

            Assert.IsInstanceOf <DoNothingResult>(result);
        }
        public void DialogWithNameReturnsDialogResult()
        {
            var controller = new DelegatingController("MyController", "DoStuff");
            var result     = controller.Call <DialogResult>("Dialog", "Foo");

            Assert.AreEqual("Foo", result.ViewName);
        }
        public void WindowWithNameReturnsWindowResult()
        {
            var controller = new DelegatingController("MyController", "DoStuff");
            var result     = controller.Call <WindowResult>("Window", "Foo");

            Assert.AreEqual("Foo", result.ViewName);
        }
        public void StartProcessDoesNotWaitForExitByDefault()
        {
            var controller = new DelegatingController("MyController", "DoStuff");
            var result     = controller.Call <StartProcessResult>("StartProcess", new ProcessStartInfo("calc.exe"));

            Assert.AreEqual("calc.exe", result.StartInfo.FileName);
            Assert.IsFalse(result.WaitForExit);
        }
        public void StartProcessByNameWaitShouldReturnStartProcessResult()
        {
            var controller = new DelegatingController("MyController", "DoStuff");
            var result     = controller.Call <StartProcessResult>("StartProcess", "calc.exe", true);

            Assert.AreEqual("calc.exe", result.StartInfo.FileName);
            Assert.IsTrue(result.WaitForExit);
        }
        public void RedirectWithControllerActionAndParametersReturnsRedirectResult()
        {
            var controller = new DelegatingController("MyController", "DoStuff");
            var result     = controller.Call <RedirectResult>("Redirect", "NewController", "NewAction", new object());

            Assert.AreEqual("NewController", result.NewRequest.GetOrDefault <string>("controller"));
            Assert.AreEqual("NewAction", result.NewRequest.GetOrDefault <string>("action"));
        }
        public void PageShouldNotRequireRequestInformation()
        {
            var controller = new DelegatingController();

            controller.Call <ActionResult>("Page");
        }