public void Internal_SetsAppDataTokenForWidget()
        {
            var widgetUIService  = A.Fake <IWidgetUIService>();
            var widgetController = new WidgetControllerBuilder().WithService(widgetUIService).Build();
            var widget           = new BasicMappedWidget();

            widgetController.Internal(widget);

            A.CallTo(() => widgetUIService.SetAppDataToken(widgetController.RouteData, widget)).MustHaveHappened();
        }
        public void Internal_IfTheWidgetHasNoCustomLayoutTheViewNameShouldBeTheTypeNameOfTheWidget()
        {
            var widgetUIService  = A.Fake <IWidgetUIService>();
            var widgetController = new WidgetControllerBuilder().WithService(widgetUIService).Build();
            var widget           = new BasicMappedWidget();

            var result = widgetController.Internal(widget);

            result.ViewName.Should().Be(typeof(BasicMappedWidget).Name);
        }
        public void Internal_IfTheWidgetHasACustomLayoutUseThatAsTheViewName()
        {
            var widgetUIService  = A.Fake <IWidgetUIService>();
            var widgetController = new WidgetControllerBuilder().WithService(widgetUIService).Build();
            var widget           = new BasicMappedWidget {
                CustomLayout = "custom view"
            };

            var result = widgetController.Internal(widget);

            result.ViewName.Should().Be("custom view");
        }
        public void Internal_ReturnsAPartialViewWithTheWidgetModel()
        {
            var widgetUIService  = A.Fake <IWidgetUIService>();
            var widgetController = new WidgetControllerBuilder().WithService(widgetUIService).Build();
            var widget           = new BasicMappedWidget();
            var widgetModel      = new object();

            A.CallTo(() => widgetUIService.GetModel(widget)).Returns(widgetModel);

            var result = widgetController.Internal(widget);

            result.Should().BeOfType <PartialViewResult>();
            result.Model.Should().Be(widgetModel);
        }