예제 #1
0
        public void Good_Delete()
        {
            // Arrange
            var id   = 1;
            var news = new News()
            {
                ID        = 1,
                AddedDate = DateTime.Now,
                Position  = 1,
                Title     = "New 1",
                Content   = "Quisque nulla nunc, tempor eu lorem non, pharetra laoreet massa."
            };
            var service        = Substitute.For <INewsRepository>();
            var mapper         = Substitute.For <IMapper>();
            var fakeController = new FakeController();
            var controller     = new NewsController(service, mapper);

            fakeController.PrepareFakeAjaxRequest();
            controller.ControllerContext = fakeController.GetControllerContext <NewsController>(new RouteData(), controller);
            service.Get(id).Returns(news);
            service.Delete(news);
            service.Save();

            // Act
            var result              = controller.Delete(id) as JsonResult;
            var ajaxRequest         = controller.Request.IsAjaxRequest();
            var jsonRequestBehavior = result.JsonRequestBehavior;
            var data = result.Data;

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(ajaxRequest, Is.True);
            Assert.That(JsonRequestBehavior.AllowGet, Is.EqualTo(jsonRequestBehavior));
            Assert.That("", Is.EqualTo(data));
        }
예제 #2
0
        public void Good_Delete()
        {
            // Arrange
            var id         = 1;
            var sliderItem = new SliderItem()
            {
                ID               = id,
                Position         = 1,
                ShortDescription = "Slider description 1",
                PictureUrl       = "/Content/Images/pizzaSlide_1.jpg"
            };
            var service        = Substitute.For <ISliderItemService>();
            var fakeController = new FakeController();
            var controller     = new SliderItemController(service);

            fakeController.PrepareFakeAjaxRequest();
            controller.ControllerContext = fakeController.GetControllerContext <SliderItemController>(new RouteData(), controller);
            service.GetSliderItem(id).Returns(sliderItem);
            service.DeleteSliderItem(sliderItem);
            service.SaveSliderItem();

            // Act
            var result              = controller.Delete(id) as JsonResult;
            var ajaxRequest         = controller.Request.IsAjaxRequest();
            var jsonRequestBehavior = result.JsonRequestBehavior;
            var data = result.Data;

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(ajaxRequest, Is.True);
            Assert.That(JsonRequestBehavior.AllowGet, Is.EqualTo(jsonRequestBehavior));
            Assert.That("", Is.EqualTo(data));
        }
        public void Delete_Not_Ajax_Request()
        {
            // Arrange
            var id = 1;
            var informationItem = new InformationItem()
            {
                ID         = 1,
                PictureUrl = "/Content/Images/pizza_1.jpg",
                Position   = 1,
                Title      = "Menu",
                Content    = "Ut at viverra arcu. Donec sed interdum nulla, eu porttitor lorem. Morbi efficitur sapien ullamcorper lorem vestibulum, ut aliquet turpis consequat. Suspendisse ac nibh non velit scelerisque bibendum. "
            };
            var service        = Substitute.For <IInformationItemService>();
            var fakeController = new FakeController();
            var controller     = new InformationItemController(service);

            fakeController.PrepareFakeRequest();
            controller.ControllerContext = fakeController.GetControllerContext <InformationItemController>(new RouteData(), controller);
            service.GetInfomrationItem(id).Returns(informationItem);

            // Act
            var result      = controller.Delete(id) as RedirectToRouteResult;
            var ajaxRequest = controller.Request.IsAjaxRequest();
            var actionName  = result.RouteValues.Values.ElementAt(0);

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(ajaxRequest, Is.False);
            Assert.That("Index", Is.EqualTo(actionName));
        }
        public void OnActionExecuting_ForValidQueryStringValues_VerifyLoggerServiceLogMethodCalledOnce(
            string queryStringValue)
        {
            //Arrange
            string queryStringKey      = "log";
            var    sut                 = new LogFilterAttribute();
            var    httpContext         = new Mock <HttpContextBase>();
            var    httpRequestBaseStub = new Mock <HttpRequestBase>();

            httpRequestBaseStub.Setup(q =>
                                      q.QueryString).Returns(new NameValueCollection()
            {
                { queryStringKey, queryStringValue }
            });
            httpContext.Setup(x => x.Request).Returns(httpRequestBaseStub.Object);
            var actionDescriptor  = new Mock <ActionDescriptor>().Object;
            var controller        = new FakeController();
            var controllerContext = new ControllerContext(
                httpContext.Object, new RouteData(), controller);
            var stubFilterContext = new ActionExecutingContext(
                controllerContext, actionDescriptor, new RouteValueDictionary());
            var loggerServiceMock = new Mock <ILoggerService>();

            sut.LoggerService = loggerServiceMock.Object;
            //Act
            sut.OnActionExecuting(stubFilterContext);
            //Assert
            loggerServiceMock.Verify(x => x.Log(It.IsAny <string>()), Times.Once());
        }
예제 #5
0
        public void Delete_Not_Ajax_Request()
        {
            // Arrange
            var id       = 1;
            var menuItem = new MenuItem()
            {
                ID             = 1,
                Position       = 1,
                Title          = "Strona główna",
                ActionName     = "Index",
                ControllerName = "Home"
            };
            var service        = Substitute.For <IMenuItemRepository>();
            var mapper         = Substitute.For <IMapper>();
            var fakeController = new FakeController();
            var controller     = new MenuItemController(service, mapper);

            fakeController.PrepareFakeRequest();
            controller.ControllerContext = fakeController.GetControllerContext <MenuItemController>(new RouteData(), controller);
            service.Get(id).Returns(menuItem);

            // Act
            var result      = controller.Delete(id) as RedirectToRouteResult;
            var ajaxRequest = controller.Request.IsAjaxRequest();
            var actionName  = result.RouteValues.Values.ElementAt(0);

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(ajaxRequest, Is.False);
            Assert.That("Index", Is.EqualTo(actionName));
        }
        public void Delete_Good()
        {
            // Arrange
            var id = 1;
            var informationItem = new InformationItem()
            {
                ID         = 1,
                PictureUrl = "/Content/Images/pizza_1.jpg",
                Position   = 1,
                Title      = "Menu",
                Content    = "Ut at viverra arcu. Donec sed interdum nulla, eu porttitor lorem. Morbi efficitur sapien ullamcorper lorem vestibulum, ut aliquet turpis consequat. Suspendisse ac nibh non velit scelerisque bibendum. "
            };
            var service        = Substitute.For <IInformationItemService>();
            var fakeController = new FakeController();
            var controller     = new InformationItemController(service);

            fakeController.PrepareFakeAjaxRequest();
            controller.ControllerContext = fakeController.GetControllerContext <InformationItemController>(new RouteData(), controller);
            service.GetInfomrationItem(id).Returns(informationItem);
            service.DeleteInfomationItem(informationItem);
            service.SaveInfomrationItem();

            // Act
            var result              = controller.Delete(id) as JsonResult;
            var ajaxRequest         = controller.Request.IsAjaxRequest();
            var jsonRequestBehavior = result.JsonRequestBehavior;
            var data = result.Data;

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(ajaxRequest, Is.True);
            Assert.That(JsonRequestBehavior.AllowGet, Is.EqualTo(jsonRequestBehavior));
            Assert.That("", Is.EqualTo(data));
        }
예제 #7
0
        public void CanPaginatePosts()
        {
            var controller = new PostsController(
                _postRepository.Object,
                _postLikeRepository.Object,
                _blogRepository.Object)
            {
                ItemsPerPage      = 2,
                ControllerContext = FakeController.GetContextWithIdentity("test1", "User")
            };

            var result = controller.GetPosts(new PostsInfo
            {
                Type        = "testType",
                Username    = "******",
                CurrentPage = 1,
            }) as OkObjectResult;

            Assert.NotNull(result);

            var posts = result.Value as UserPostsViewData;

            Assert.NotNull(posts);
            Assert.Equal(1, posts.PagingInfo.CurrentPage);
            Assert.Equal(3, posts.PagingInfo.TotalItems);
            Assert.Equal(2, posts.PagingInfo.ItemsPerPage);
            Assert.Equal(2, posts.PagingInfo.TotalPages);

            var postsList = posts.Posts.ToList();

            Assert.Equal(2, postsList.Count);
            Assert.Equal(1, postsList[0].Item.Id);
            Assert.Equal(4, postsList[1].Item.Id);
        }
예제 #8
0
        public void Get_Edit_Not_Ajax_Request()
        {
            // Arrange
            var component = new Component()
            {
                Name = "Sałata"
            };
            var componentViewModel = new ComponentViewModel()
            {
                Name = "Sałata"
            };
            var id         = 1;
            var repository = Substitute.For <IComponentRepository>();
            var mapper     = Substitute.For <IMapper>();

            var fakeController = new FakeController();

            fakeController.PrepareFakeRequest();
            var controller = new ComponentController(repository, mapper);

            controller.ControllerContext = fakeController.GetControllerContext <ComponentController>(new RouteData(), controller);

            repository.Get(id).Returns(component);
            mapper.Map <Component, ComponentViewModel>(component).Returns(componentViewModel);

            // Act
            var result      = controller.Edit(id) as RedirectToRouteResult;
            var ajaxRequest = controller.Request.IsAjaxRequest();
            var actionName  = result.RouteValues.Values.ElementAt(0);

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(ajaxRequest, Is.False);
            Assert.That("Index", Is.EqualTo(actionName));
        }
예제 #9
0
        public void Good_Delete()
        {
            // Arrange
            var id       = 1;
            var menuItem = new MenuItem()
            {
                ID             = 1,
                Position       = 1,
                Title          = "Strona główna",
                ActionName     = "Index",
                ControllerName = "Home"
            };
            var service        = Substitute.For <IMenuItemRepository>();
            var mapper         = Substitute.For <IMapper>();
            var fakeController = new FakeController();
            var controller     = new MenuItemController(service, mapper);

            fakeController.PrepareFakeAjaxRequest();
            controller.ControllerContext = fakeController.GetControllerContext <MenuItemController>(new RouteData(), controller);
            service.Get(id).Returns(menuItem);
            service.Delete(menuItem);
            service.Save();

            // Act
            var result              = controller.Delete(id) as JsonResult;
            var ajaxRequest         = controller.Request.IsAjaxRequest();
            var jsonRequestBehavior = result.JsonRequestBehavior;
            var data = result.Data;

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(ajaxRequest, Is.True);
            Assert.That(JsonRequestBehavior.AllowGet, Is.EqualTo(jsonRequestBehavior));
            Assert.That("", Is.EqualTo(data));
        }
예제 #10
0
        public void Delete_Not_Ajax_Request()
        {
            // Arrange
            var id   = 1;
            var news = new News()
            {
                ID        = 1,
                AddedDate = DateTime.Now,
                Position  = 1,
                Title     = "New 1",
                Content   = "Quisque nulla nunc, tempor eu lorem non, pharetra laoreet massa."
            };
            var service        = Substitute.For <INewsRepository>();
            var mapper         = Substitute.For <IMapper>();
            var fakeController = new FakeController();
            var controller     = new NewsController(service, mapper);

            fakeController.PrepareFakeRequest();
            controller.ControllerContext = fakeController.GetControllerContext <NewsController>(new RouteData(), controller);
            service.Get(id).Returns(news);

            // Act
            var result      = controller.Delete(id) as RedirectToRouteResult;
            var ajaxRequest = controller.Request.IsAjaxRequest();
            var actionName  = result.RouteValues.Values.ElementAt(0);

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(ajaxRequest, Is.False);
            Assert.That("Index", Is.EqualTo(actionName));
        }
예제 #11
0
        public void Good_Delete()
        {
            // Arrange
            var component = new Component()
            {
                Name = "Sałata"
            };
            var id         = 1;
            var repository = Substitute.For <IComponentRepository>();
            var mapper     = Substitute.For <IMapper>();

            var fakeController = new FakeController();

            fakeController.PrepareFakeAjaxRequest();
            var controller = new ComponentController(repository, mapper);

            controller.ControllerContext = fakeController.GetControllerContext <ComponentController>(new RouteData(), controller);

            repository.Get(id).Returns(component);
            repository.Delete(component);
            repository.Save();

            // Act
            var result              = controller.Delete(id) as JsonResult;
            var ajaxRequest         = controller.Request.IsAjaxRequest();
            var jsonRequestBehavior = result.JsonRequestBehavior;
            var data = result.Data;

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(ajaxRequest, Is.True);
            Assert.That(jsonRequestBehavior, Is.EqualTo(JsonRequestBehavior.AllowGet));
        }
예제 #12
0
        public void CanSavePost()
        {
            var controller = new PostsController(
                _postRepository.Object,
                _postLikeRepository.Object,
                _blogRepository.Object)
            {
                ControllerContext = FakeController.GetContextWithIdentity("test1", "User")
            };

            var result = controller.SavePost(new PostForm
            {
                Description = "test description",
                Title       = "test title",
                Type        = "test type",
                Tags        = "test1 test2"
            }) as ObjectResult;

            _postRepository.Verify(m =>
                                   m.SavePost(It.IsAny <Post>(), It.IsAny <IEnumerable <string> >()), Times.Once);
            Assert.NotNull(result);
            Assert.IsType <OkObjectResult>(result);
            Assert.Equal(200, result.StatusCode);
            Assert.NotNull(result.Value);
            Assert.Equal("saved", result.Value);
        }
예제 #13
0
        public void Good_Delete()
        {
            // Arrange
            var eventObj = new Event()
            {
                ID        = 1,
                Title     = "Wydarzenie 1",
                Content   = "Treść wydarzenia 1",
                AddedDate = DateTime.Now
            };
            var id         = 1;
            var repository = Substitute.For <IEventRepository>();
            var mapper     = Substitute.For <IMapper>();

            var fakeController = new FakeController();

            fakeController.PrepareFakeAjaxRequest();
            var controller = new EventController(repository, mapper);

            controller.ControllerContext = fakeController.GetControllerContext <EventController>(new RouteData(), controller);

            repository.Get(id).Returns(eventObj);
            repository.Delete(eventObj);
            repository.Save();

            // Act
            var result = controller.Delete(id) as JsonResult;
            var jsonRequestBehavior = result.JsonRequestBehavior;
            var data = result.Data;

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(JsonRequestBehavior.AllowGet, Is.EqualTo(jsonRequestBehavior));
            Assert.That("", Is.EqualTo(data));
        }
예제 #14
0
        public void Delete_Not_Ajax_Request()
        {
            // Arrange
            var eventObj = new Event()
            {
                ID        = 1,
                Title     = "Wydarzenie 1",
                Content   = "Treść wydarzenia 1",
                AddedDate = DateTime.Now
            };
            var id         = 1;
            var repository = Substitute.For <IEventRepository>();
            var mapper     = Substitute.For <IMapper>();

            var fakeController = new FakeController();

            fakeController.PrepareFakeRequest();
            var controller = new EventController(repository, mapper);

            controller.ControllerContext = fakeController.GetControllerContext <EventController>(new RouteData(), controller);

            repository.Get(id).Returns(eventObj);

            // Act
            var result      = controller.Delete(id) as RedirectToRouteResult;
            var actionName  = result.RouteValues.Values.ElementAt(0);
            var ajaxRequest = controller.Request.IsAjaxRequest();

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That("Index", Is.EqualTo(actionName));
            Assert.That(ajaxRequest, Is.False);
        }
예제 #15
0
        public void Delete_Not_Ajax_Request()
        {
            // Arrange
            var id    = 1;
            var salad = new Salad()
            {
                ID    = id,
                Name  = "Greco",
                Price = 14.00M,
            };
            var service        = Substitute.For <ISaladRepository>();
            var mapper         = Substitute.For <IMapper>();
            var fakeController = new FakeController();
            var controller     = new SaladController(service, mapper);

            fakeController.PrepareFakeRequest();
            controller.ControllerContext = fakeController.GetControllerContext <SaladController>(new RouteData(), controller);
            service.Get(id).Returns(salad);

            // Act
            var result      = controller.Delete(id) as RedirectToRouteResult;
            var ajaxRequest = controller.Request.IsAjaxRequest();
            var actionName  = result.RouteValues.Values.ElementAt(0);

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(ajaxRequest, Is.False);
            Assert.That("Index", Is.EqualTo(actionName));
        }
예제 #16
0
        public void Get_Edit_ShopContact_Is_Null()
        {
            // Arrange
            var xmlManager = Substitute.For <IXmlManager>();
            var mapper     = Substitute.For <IMapper>();

            var fakeController = new FakeController();

            fakeController.PrepareFakeAjaxRequest();
            var controller = new ContactController(xmlManager, mapper);

            controller.ControllerContext = fakeController.GetControllerContext <ContactController>(new RouteData(), controller);

            ShopContact shopContact = null;

            xmlManager.GetXmlModel <ShopContact>(GlobalXmlManager.ContactFileName).Returns(shopContact);

            // Act
            var result      = controller.Edit() as HttpNotFoundResult;
            var ajaxRequest = controller.Request.IsAjaxRequest();
            var statusCode  = result.StatusCode;

            // Assert
            Assert.IsTrue(ajaxRequest);
            Assert.IsNotNull(result);
            Assert.That(404, Is.EqualTo(statusCode));
        }
예제 #17
0
        public void CanSaveComment_withParentComment()
        {
            var controller = new CommentController(
                _userRepository.Object,
                _postRepository.Object,
                _commentRepository.Object,
                _commentLikeRepository.Object)
            {
                ControllerContext = FakeController.GetContextWithIdentity("test1", "User")
            };

            var result = controller.SaveComment(new CommentForm {
                PostId    = 1,
                Content   = "testContent",
                CommentId = 1
            }) as ObjectResult;

            _commentRepository.Verify(c => c.SaveComment(It.IsAny <Comment>()), Times.Once);
            Assert.NotNull(result);
            Assert.IsType <OkObjectResult>(result);
            Assert.Equal(200, result.StatusCode);
            Assert.NotNull(result.Value);

            var comment = result.Value as ItemViewData <Comment>;

            Assert.IsType <ItemViewData <Comment> >(comment);
            Assert.Equal("test1", comment.Item.User.UserName);
            Assert.Equal(1, comment.Item.Post.Id);
            Assert.Equal("testContent", comment.Item.Content);
            Assert.NotNull(comment.Item.ParentComment);
        }
예제 #18
0
        public void Good_Delete()
        {
            // Arrange
            var id    = 1;
            var salad = new Salad()
            {
                ID    = id,
                Name  = "Greco",
                Price = 14.00M,
            };
            var service        = Substitute.For <ISaladRepository>();
            var mapper         = Substitute.For <IMapper>();
            var fakeController = new FakeController();
            var controller     = new SaladController(service, mapper);

            fakeController.PrepareFakeAjaxRequest();
            controller.ControllerContext = fakeController.GetControllerContext <SaladController>(new RouteData(), controller);
            service.Get(id).Returns(salad);
            service.Delete(salad);
            service.Save();

            // Act
            var result              = controller.Delete(id) as JsonResult;
            var ajaxRequest         = controller.Request.IsAjaxRequest();
            var jsonRequestBehavior = result.JsonRequestBehavior;
            var data = result.Data;

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(ajaxRequest, Is.True);
            Assert.That(JsonRequestBehavior.AllowGet, Is.EqualTo(jsonRequestBehavior));
            Assert.That("", Is.EqualTo(data));
        }
예제 #19
0
        public void CanGetPosts()
        {
            var controller = new PostsController(
                _postRepository.Object,
                _postLikeRepository.Object,
                _blogRepository.Object)
            {
                ControllerContext = FakeController.GetContextWithIdentity("test1", "User")
            };

            var result = controller.GetPosts(new PostsInfo
            {
                Type        = "testType",
                Username    = "******",
                CurrentPage = 1,
            }) as ObjectResult;

            Assert.NotNull(result);
            Assert.IsType <OkObjectResult>(result);
            Assert.Equal(200, result.StatusCode);
            Assert.NotNull(result.Value);

            var posts = result.Value as UserPostsViewData;

            Assert.IsType <UserPostsViewData>(posts);
            Assert.Equal(3, posts.Posts.Count());
        }
예제 #20
0
        public void Delete_Not_Ajax_Request()
        {
            // Arrange
            var drink = new Drink()
            {
                ID       = 1,
                Name     = "Mirinda",
                Price    = 5.00M,
                Capacity = 0.5f
            };
            var id         = 1;
            var repository = Substitute.For <IDrinkRepository>();
            var mapper     = Substitute.For <IMapper>();

            var fakeController = new FakeController();

            fakeController.PrepareFakeRequest();
            var controller = new DrinkController(repository, mapper);

            controller.ControllerContext = fakeController.GetControllerContext <DrinkController>(new RouteData(), controller);

            repository.Get(id).Returns(drink);

            // Act
            var result      = controller.Delete(id) as RedirectToRouteResult;
            var ajaxRequest = controller.Request.IsAjaxRequest();
            var actionName  = result.RouteValues.Values.ElementAt(0);

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(ajaxRequest, Is.False);
            Assert.That("Index", Is.EqualTo(actionName));
        }
예제 #21
0
        public void Good_Delete()
        {
            // Arrange
            var id    = 1;
            var pizza = new Pizza()
            {
                ID   = id,
                Name = "Margarita"
            };
            var service        = Substitute.For <IPizzaService>();
            var fakeController = new FakeController();
            var controller     = new PizzaController(service);

            fakeController.PrepareFakeAjaxRequest();
            controller.ControllerContext = fakeController.GetControllerContext <PizzaController>(new RouteData(), controller);
            service.GetPizza(id).Returns(pizza);
            service.DeletePizza(pizza);
            service.SavePizza();

            // Act
            var result              = controller.Delete(id) as JsonResult;
            var ajaxRequest         = controller.Request.IsAjaxRequest();
            var jsonRequestBehavior = result.JsonRequestBehavior;
            var data = result.Data;

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(ajaxRequest, Is.True);
            Assert.That(JsonRequestBehavior.AllowGet, Is.EqualTo(jsonRequestBehavior));
            Assert.That("", Is.EqualTo(data));
        }
 public void OnActionExecuting_ForValidQueryStringValues_VerifyLoggerServiceLogMethodCalledOnce(
     string queryStringValue)
 {
     //Arrange
     string queryStringKey = "log";
     var sut = new LogFilterAttribute();
     var httpContext = new Mock<HttpContextBase>();
     var httpRequestBaseStub = new Mock<HttpRequestBase>();
     httpRequestBaseStub.Setup(q =>
         q.QueryString).Returns(new NameValueCollection()
         { { queryStringKey, queryStringValue } });
     httpContext.Setup(x => x.Request).Returns(httpRequestBaseStub.Object);
     var actionDescriptor = new Mock<ActionDescriptor>().Object;
     var controller = new FakeController();
     var controllerContext = new ControllerContext(
         httpContext.Object, new RouteData(), controller);
     var stubFilterContext = new ActionExecutingContext(
         controllerContext, actionDescriptor, new RouteValueDictionary());
     var loggerServiceMock = new Mock<ILoggerService>();
     sut.LoggerService = loggerServiceMock.Object;
     //Act
     sut.OnActionExecuting(stubFilterContext);
     //Assert
     loggerServiceMock.Verify(x => x.Log(It.IsAny<string>()), Times.Once());
 }
예제 #23
0
        public void Delete_Not_Ajax_Request()
        {
            // Arrange
            var id    = 1;
            var pizza = new Pizza()
            {
                ID   = id,
                Name = "Margarita"
            };
            var service        = Substitute.For <IPizzaService>();
            var fakeController = new FakeController();
            var controller     = new PizzaController(service);

            fakeController.PrepareFakeRequest();
            controller.ControllerContext = fakeController.GetControllerContext <PizzaController>(new RouteData(), controller);
            service.GetPizza(id).Returns(pizza);

            // Act
            var result      = controller.Delete(id) as RedirectToRouteResult;
            var ajaxRequest = controller.Request.IsAjaxRequest();
            var actionName  = result.RouteValues.Values.ElementAt(0);

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(ajaxRequest, Is.False);
            Assert.That("Index", Is.EqualTo(actionName));
        }
예제 #24
0
        public void Delete_Not_Ajax_Request()
        {
            // Arrange
            var id         = 1;
            var sliderItem = new SliderItem()
            {
                ID               = id,
                Position         = 1,
                ShortDescription = "Slider description 1",
                PictureUrl       = "/Content/Images/pizzaSlide_1.jpg"
            };
            var service        = Substitute.For <ISliderItemService>();
            var fakeController = new FakeController();
            var controller     = new SliderItemController(service);

            fakeController.PrepareFakeRequest();
            controller.ControllerContext = fakeController.GetControllerContext <SliderItemController>(new RouteData(), controller);
            service.GetSliderItem(id).Returns(sliderItem);

            // Act
            var result      = controller.Delete(id) as RedirectToRouteResult;
            var ajaxRequest = controller.Request.IsAjaxRequest();
            var actionName  = result.RouteValues.Values.ElementAt(0);

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(ajaxRequest, Is.False);
            Assert.That("Index", Is.EqualTo(actionName));
        }
예제 #25
0
        public void GetDataFromActionResultReturnsProductPresentation()
        {
            var fakeActionResult = new FakeController().GetFakeActionResult();
            var result           = ActionResultParser.GetPropertyValue <IProductPresentation>(fakeActionResult, "data");

            Assert.IsInstanceOfType(result, typeof(IProductPresentation),
                                    "ActionResultParser did not return expected IProductPresentation value from data property");
        }
예제 #26
0
        public void  GetSuccessValueFromActionResultReturnsBoolean()
        {
            var fakeActionResult = new FakeController().GetFakeActionResult();
            var result           = ActionResultParser.GetSuccessValue(fakeActionResult);

            Assert.IsInstanceOfType(result, typeof(bool),
                                    "ActionResultParser did not return expected boolean value from success property");
        }
예제 #27
0
        public async Task Get_All_Prescription_With_200_codeAsync()
        {
            var result = await FakeController.Get(null);

            var objectResult = (OkObjectResult)result.Result;

            Assert.Equal(200, objectResult.StatusCode);
        }
예제 #28
0
        public void GetSuccessValueFromActionResultReturnsBoolean()
        {
            var fakeActionResult = new FakeController().GetFakeActionResult();
            var result = ActionResultParser.GetSuccessValue(fakeActionResult);

            Assert.IsInstanceOfType(result, typeof (bool),
                                    "ActionResultParser did not return expected boolean value from success property");
        }
예제 #29
0
        public async Task Given_Non_Existing_Id_Returns_Null()
        {
            var result = await FakeController.Get(23);

            var notFound = (NotFoundResult)result.Result;

            Assert.Equal(404, notFound.StatusCode);
        }
 protected Context_inc_controller_base()
 {
     dispatcher           = Pleasure.Mock <IDispatcher>();
     httpContext          = Pleasure.Mock <HttpContextBase>();
     controller           = new FakeController(dispatcher.Object, httpContext.Object);
     modelStateDictionary = new ModelStateDictionary();
     controller.ViewData.SetValue("_modelState", modelStateDictionary);
 }
예제 #31
0
        public void GetDataFromActionResultReturnsProductPresentation()
        {
            var fakeActionResult = new FakeController().GetFakeActionResult();
            var result = ActionResultParser.GetPropertyValue<IProductPresentation>(fakeActionResult, "data");

            Assert.IsInstanceOfType(result, typeof(IProductPresentation),
                "ActionResultParser did not return expected IProductPresentation value from data property");
        }
        public void GetFilters_should_merge_filters_in_correct_order()
        {
            var controller = new FakeController();

            var decoratedAuthorizationFilter = new DummyFilter1{ Order = 2 };
            var decoratedActionFilter = new DummyFilter2{ Order = 2 };
            var decoratedResultFilter = new DummyFilter3{ Order = 2 };
            var decoratedExceptionFilter = new DummyFilter4{ Order = 2 };

            var decoratedFilters = new FilterInfo();

            decoratedFilters.AuthorizationFilters.Add(decoratedAuthorizationFilter);
            decoratedFilters.ActionFilters.Add(decoratedActionFilter);
            decoratedFilters.ResultFilters.Add(decoratedResultFilter);
            decoratedFilters.ExceptionFilters.Add(decoratedExceptionFilter);

            decoratedFilters.AuthorizationFilters.Add(controller);
            decoratedFilters.ActionFilters.Add(controller);
            decoratedFilters.ResultFilters.Add(controller);
            decoratedFilters.ExceptionFilters.Add(controller);

            var actionDescriptor = new Mock<ActionDescriptor>();
            actionDescriptor.Setup(ad => ad.GetFilters()).Returns(decoratedFilters);

            var registeredAuthorizationFilter = new DummyFilter5 { Order = 1 };
            var registeredActionFilter = new DummyFilter6 { Order = 1 };
            var registeredResultFilter = new DummyFilter7{ Order = 1 };
            var registeredExceptionFilter = new DummyFilter8{ Order = 1 };

            var registeredFilters = new FilterInfo();

            registeredFilters.AuthorizationFilters.Add(registeredAuthorizationFilter);
            registeredFilters.ActionFilters.Add(registeredActionFilter);
            registeredFilters.ResultFilters.Add(registeredResultFilter);
            registeredFilters.ExceptionFilters.Add(registeredExceptionFilter);

            filterRegistry.Setup(fr => fr.Matching(It.IsAny<ControllerContext>(), It.IsAny<ActionDescriptor>())).Returns(registeredFilters);

            var controllerContext = new ControllerContext(new RequestContext(new Mock<HttpContextBase>().Object, new RouteData()), new Mock<ControllerBase>().Object);

            var mergedFilters = controllerActionInvoker.PublicGetFilters(controllerContext, actionDescriptor.Object);

            Assert.Same(controller, mergedFilters.AuthorizationFilters[0]);
            Assert.Same(registeredAuthorizationFilter, mergedFilters.AuthorizationFilters[1]);
            Assert.Same(decoratedAuthorizationFilter, mergedFilters.AuthorizationFilters[2]);

            Assert.Same(controller, mergedFilters.ActionFilters[0]);
            Assert.Same(registeredActionFilter, mergedFilters.ActionFilters[1]);
            Assert.Same(decoratedActionFilter, mergedFilters.ActionFilters[2]);

            Assert.Same(controller, mergedFilters.ResultFilters[0]);
            Assert.Same(registeredResultFilter, mergedFilters.ResultFilters[1]);
            Assert.Same(decoratedResultFilter, mergedFilters.ResultFilters[2]);

            Assert.Same(controller, mergedFilters.ExceptionFilters[0]);
            Assert.Same(registeredExceptionFilter, mergedFilters.ExceptionFilters[1]);
            Assert.Same(decoratedExceptionFilter, mergedFilters.ExceptionFilters[2]);
        }
예제 #33
0
파일: App.xaml.cs 프로젝트: kedmar/StudyUp
        void OnStartup(object sender, StartupEventArgs e)
        {
            Model       model      = new Model();
            IController controller = new FakeController();
            //controller.SetModel(model);
            MainWindow win = new StudyUp.MainWindow(ref controller);

            win.Show();
        }
예제 #34
0
 protected Context_inc_controller_base()
 {
     dispatcher  = Pleasure.Mock <IDispatcher>();
     httpContext = Pleasure.Mock <HttpContextBase>();
     IoCFactory.Instance.StubTryResolve(dispatcher.Object);
     controller           = new FakeController(httpContext.Object);
     modelStateDictionary = new ModelStateDictionary();
     controller.ViewData.SetValue("_modelState", modelStateDictionary);
 }
예제 #35
0
 public void ExecuteNotFound(RequestContext requestContext)
 {
     Controller controller = new FakeController();
     ControllerContext context = new ControllerContext(requestContext, controller);
     controller.ControllerContext = context;
     new NotFoundViewResult().ExecuteResult(
         context
     );
 }
예제 #36
0
        public void SetUp()
        {
            _httpContext = new Mock<HttpContextBase>();
            _httpRequest = new Mock<HttpRequestBase>();

            _httpContext.Setup(ctx => ctx.Request).Returns(_httpRequest.Object);
            _httpRequest.Setup(req => req.MapPath(It.IsAny<string>()))
                .Returns((String str) => str);

            _routeData = new RouteData();
            _controller = new FakeController();
        }
        public void Before_each_test()
        {
            attribute = new SessionBasedAuthorizeAttibute();

            var controller = new FakeController();
            MvcTest.SetupControllerContext(controller);

            authorizationContext = new AuthorizationContext();
            authorizationContext.Controller = controller;
            authorizationContext.HttpContext = controller.HttpContext;

            var controllerDescriptor = new ReflectedControllerDescriptor(typeof(FakeController));
            var method = typeof(FakeController).GetMethod("Nothing");
            authorizationContext.ActionDescriptor = new ReflectedActionDescriptor(method, "Nothing", controllerDescriptor);
        }
예제 #38
0
        protected static BaseDataSourceRequest SetupBinder(NameValueCollection form, NameValueCollection queryString)
        {
            var fakeRequest = new FakeRequest("POST", form, queryString ?? new NameValueCollection());
            var httpContext = new FakeContext(fakeRequest);

            var controller = new FakeController();
            var controllerContext = new ControllerContext(new RequestContext(httpContext, new RouteData()), controller);
            var modelBindingContext = new ModelBindingContext();

            var binder = new DataSourceModelBinder();
            var model = binder.BindModel(controllerContext, modelBindingContext);
            Assert.IsNotNull(model);

            var gridRequest = model as DataSourceMvcRequest;
            Assert.IsNotNull(gridRequest);

            return gridRequest;
        }
        protected override void DoSetUp()
        {
            this.transactionManagerMock = Mockery.Create<ITransactionManager>();
            this.transactionAttribute = new TransactionAttribute
            {
                TransactionManager = this.transactionManagerMock.Object
            };

            this.fakeController = new FakeController
            {
                ViewData = new ViewDataDictionary(new Model {Required = "y"})
            };

            this.filterContext = Mockery.Create<ActionExecutedContext>();
            this.filterContext.SetupGet(c => c.Controller).Returns(this.fakeController);
            // most tests require top-level action
            this.filterContext.SetupGet(c => c.IsChildAction).Returns(false);
        }
예제 #40
0
 public void Initialise()
 {
     Controller = new FakeController(Mock.Of<ISelpRepository<FakeEntity, int>>());
 }