public void RegisteredUser_IsDenied_IfHasNoModuleAccess()
        {
            // Arrange
            var sut = this._mockDnnModuleAuthorizeAttribute.Object;

            this._mockDnnModuleAuthorizeAttribute.Protected().Setup <bool>("HasModuleAccess").Returns(false);
            this._mockDnnModuleAuthorizeAttribute.Protected().Setup("HandleUnauthorizedRequest", ItExpr.IsAny <AuthorizationContext>());

            this._mockActionDescriptor.Setup(x => x.IsDefined(typeof(AllowAnonymousAttribute), true)).Returns(false);
            this._mockControllerDescriptor.Setup(x => x.IsDefined(typeof(AllowAnonymousAttribute), true)).Returns(false);
            this._mockActionDescriptor.SetupGet(x => x.ControllerDescriptor).Returns(this._mockControllerDescriptor.Object);

            var moduleContext = new ModuleInstanceContext();

            moduleContext.Configuration = new ModuleInfo();
            var fakeController = new Fakes.FakeDnnController {
                ModuleContext = moduleContext
            };
            var controllerContext = new ControllerContext(new RequestContext(), fakeController);
            var context           = new AuthorizationContext(controllerContext, this._mockActionDescriptor.Object);

            // Act
            sut.OnAuthorization(context);

            // Assert
            this._mockRepository.VerifyAll();
        }
Пример #2
0
 public AlpacaEngine(Page page, ModuleInstanceContext moduleContext, string virtualDir, string filePrefix)
 {
     this.Page        = page;
     this.PortalId    = moduleContext.PortalId;
     VirtualDirectory = virtualDir;
     Prefix           = filePrefix;
 }
        public IDictionary <string, IPropertyAccess> GetTokens(Page page, ModuleInstanceContext moduleContext)
        {
            var tokens = new Dictionary <string, IPropertyAccess>();

            tokens["moduleproperties"] = new ModulePropertiesPropertyAccess(moduleContext);
            return(tokens);
        }
Пример #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Html5ModuleTokenReplace"/> class.
        /// </summary>
        /// <param name="page"></param>
        /// <param name="html5File"></param>
        /// <param name="moduleContext"></param>
        /// <param name="moduleActions"></param>
        public Html5ModuleTokenReplace(Page page, string html5File, ModuleInstanceContext moduleContext, ModuleActionCollection moduleActions)
            : base(page)
        {
            this.AccessingUser  = moduleContext.PortalSettings.UserInfo;
            this.DebugMessages  = Personalization.GetUserMode() != Entities.Portals.PortalSettings.Mode.View;
            this.ModuleId       = moduleContext.ModuleId;
            this.PortalSettings = moduleContext.PortalSettings;

            this.PropertySource["moduleaction"]  = new ModuleActionsPropertyAccess(moduleContext, moduleActions);
            this.PropertySource["resx"]          = new ModuleLocalizationPropertyAccess(moduleContext, html5File);
            this.PropertySource["modulecontext"] = new ModuleContextPropertyAccess(moduleContext);
            this.PropertySource["request"]       = new RequestPropertyAccess(page.Request);

            // DNN-7750
            var bizClass = moduleContext.Configuration.DesktopModule.BusinessControllerClass;

            var businessController = this.GetBusinessController(bizClass);

            if (businessController != null)
            {
                var tokens = businessController.GetTokens(page, moduleContext);
                foreach (var token in tokens)
                {
                    this.PropertySource.Add(token.Key, token.Value);
                }
            }
        }
        public void GenerateUrl_Method_Passes_Correct_RouteValueCollection_To_ModuleRouteProvider()
        {
            //Arrange
            var expectedContext = new ModuleInstanceContext();
            var helper          = ArrangeHelper(expectedContext);


            RouteValueDictionary routeValues = null;
            var mockRouteProvider            = new Mock <ModuleRoutingProvider>();

            mockRouteProvider.Setup(p => p.GenerateUrl(It.IsAny <RouteValueDictionary>(), expectedContext))
            .Callback <RouteValueDictionary, ModuleInstanceContext>((r, c) => routeValues = r);

            ComponentFactory.RegisterComponentInstance <ModuleRoutingProvider>(mockRouteProvider.Object);

            //Act
            helper.Action("foo", "bar", new { id = 5 });

            //Assert
            Assert.AreEqual(3, routeValues.Values.Count);
            Assert.IsTrue(routeValues.ContainsKey("action"));
            Assert.IsTrue(routeValues.ContainsKey("controller"));
            Assert.IsTrue(routeValues.ContainsKey("id"));
            Assert.AreEqual("foo", (string)routeValues["action"]);
            Assert.AreEqual("bar", (string)routeValues["controller"]);
            Assert.AreEqual(5, (int)routeValues["id"]);
        }
Пример #6
0
        public static bool Render(string scriptfile, string scriptsPath, ModuleInstanceContext moduleContext, out string result, out string message)
        {
            bool retval = false;

            try
            {
                var razorScriptFile = Path.Combine(scriptsPath, scriptfile);

                if (File.Exists(razorScriptFile) || File.Exists(HostingEnvironment.MapPath(razorScriptFile)))
                {
                    //Common.Logger.DebugFormat("Rendering Scriptfile [{0}]", HostingEnvironment.MapPath(razorScriptFile));
                    var engine = new RazorEngine(razorScriptFile, moduleContext, null);
                    var writer = new StringWriter();
                    engine.Render(writer);

                    result  = writer.ToString();
                    message = "";
                    retval  = true;
                }
                else
                {
                    //Common.Logger.ErrorFormat("Script not found: {0}", razorScriptFile);
                    message = "Script not found";
                    result  = "";
                }
            }
            catch (Exception e)
            {
                message = String.Format("Rendering razor file {0} failed", scriptfile);
                //Common.Logger.Error(message, e);
                result = "";
            }
            return(retval);
        }
        private static DnnUrlHelper ArrangeHelper(ModuleInstanceContext expectedContext, string url = null, bool isViewContext = true)
        {
            var mockController    = new Mock <ControllerBase>();
            var mockDnnController = mockController.As <IDnnController>();

            var routeData = new RouteData();

            routeData.Values["controller"] = "bar";
            routeData.Values["action"]     = "foo";
            var context = MockHelper.CreateMockControllerContext(url != null? MockHelper.CreateMockHttpContext(url):null, routeData);

            mockDnnController.Setup(c => c.ModuleContext).Returns(expectedContext);
            mockDnnController.Setup(c => c.ControllerContext).Returns(context);

            if (isViewContext)
            {
                var viewContext = new ViewContext {
                    Controller = mockController.Object
                };

                if (!string.IsNullOrEmpty(url))
                {
                    viewContext.RequestContext = new RequestContext(MockHelper.CreateMockHttpContext(url), routeData);
                }

                return(new DnnUrlHelper(viewContext));
            }

            var requestContext = new RequestContext(MockHelper.CreateMockHttpContext(url ?? "http://base/"), routeData);

            return(new DnnUrlHelper(requestContext, mockDnnController.Object));
        }
Пример #8
0
 public AlpacaEngine(Page Page, ModuleInstanceContext moduleContext, string virtualDir, string filePrefix)
 {
     this.Page          = Page;
     this.ModuleContext = moduleContext;
     VirtualDirectory   = virtualDir;
     Prefix             = filePrefix;
 }
Пример #9
0
        public static bool SaveTemplate(string name, string description, ModuleInstanceContext context,
                                        bool forceOverwrite, int maxNumberOfRecords)
        {
            var doc        = new XmlDocument();
            var moduleInfo = new ModuleController().GetModule(context.Configuration.ModuleID, context.Configuration.TabID);
            var node       = ModuleSerializationController.SerializeModule(doc, moduleInfo, true, maxNumberOfRecords);
            // add PaneName as element "name"
            var paneNode = doc.CreateElement("name");

            paneNode.InnerXml = context.Configuration.PaneName;
            node.AppendChild(paneNode);
            var template = new TemplateInfo
            {
                Name          = name,
                Description   = description,
                ExportContent = XslTemplatingUtilities.PrettyPrint(node.OuterXml)
            };

            var fileName = string.Format("{0}.{1}.module.template", Globals.CleanFileName(name),
                                         moduleInfo.DesktopModule.ModuleName.ToLowerInvariant());

            var portalSettings = context.PortalSettings;
            var folder         = Utilities.GetFolder(portalSettings, Definition.TemplateFolderName);

            if (Utilities.SaveScript(template.GetXml(), fileName, folder, forceOverwrite))
            {
                ClearCache();
                return(true);
            }
            return(false);
        }
Пример #10
0
 public virtual void Initialise(string fieldTitle, string fieldType, int fieldId, int moduleId,
                                string controlHelpText, string defaultValue, bool required, string validationRule,
                                string validationMsg, string editStyle, string inputSettings,
                                string outputSettings, bool normalizeFlag, bool multipleValuesFlag,
                                bool inputFilterTags, bool inputFilterScript, InputType inputSettingsListType,
                                ModuleInstanceContext moduleContext, DataTable fieldSettingsTable,
                                IFormEvents formEvents)
 {
     FieldTitle               = fieldTitle;
     FieldType                = fieldType;
     FieldId                  = fieldId;
     ModuleId                 = moduleId;
     HelpText                 = controlHelpText;
     DefaultValue             = defaultValue;
     Required                 = required;
     ValidationRule           = validationRule;
     _customValidationMessage = validationMsg;
     InputSettings            = inputSettings;
     OutputSettings           = outputSettings;
     Style              = editStyle;
     NormalizeFlag      = normalizeFlag;
     MultipleValuesFlag = multipleValuesFlag;
     FilterScript       = inputFilterScript;
     FilterTags         = inputFilterTags;
     ListInputType      = inputSettingsListType;
     ModuleContext      = moduleContext;
     FieldSettingsTable = fieldSettingsTable;
     FormEvents         = formEvents;
 }
        public void Initialise(ModuleInstanceContext context)
        {
            _moduleSettings = context.Settings;
            Configuration   = context.Configuration;
            User            = context.PortalSettings.UserInfo;

            EditUrlPattern = context.EditUrl(DataTableColumn.RowId.ToString(CultureInfo.InvariantCulture), "{0}", "edit");
        }
Пример #12
0
 public static string PackageWriterURL(ModuleInstanceContext context, int packageId)
 {
     string[] parameters = new string[3];
     parameters[0] = "rtab=" + context.TabId.ToString();
     parameters[1] = "packageId=" + packageId.ToString();
     parameters[2] = "mid=" + context.ModuleId.ToString();
     return(Globals.NavigateURL(context.TabId, "PackageWriter", parameters));
 }
Пример #13
0
 public static string ViewUnansweredQuestions(ModuleInstanceContext modContext, int page, string sortBy)
 {
     if (page > 1)
     {
         return(sortBy.Length > 0 ? modContext.NavigateUrl(modContext.TabId, "", false, "view=" + Constants.PageScope.Browse.ToString().ToLower(), "type=questions", "sort=" + sortBy, "unanswered=true", "page=" + page) : modContext.NavigateUrl(modContext.TabId, "", false, "view=" + Constants.PageScope.Browse.ToString().ToLower(), "type=questions", "unanswered=true", "page=" + page));
     }
     return(sortBy.Length > 0 ? modContext.NavigateUrl(modContext.TabId, "", false, "view=" + Constants.PageScope.Browse.ToString().ToLower(), "type=questions", "sort=" + sortBy, "unanswered=true") : modContext.NavigateUrl(modContext.TabId, "", false, "view=" + Constants.PageScope.Browse.ToString().ToLower(), "type=questions", "unanswered=true"));
 }
Пример #14
0
 public static string ViewQuestionsSorted(ModuleInstanceContext modContext, string sortBy, bool unanswered, int page)
 {
     if (unanswered)
     {
         return(ViewUnansweredQuestions(modContext, page, sortBy));
     }
     return(page > 1 ? modContext.NavigateUrl(modContext.TabId, "", false, "view=" + Constants.PageScope.Browse.ToString().ToLower(), "type=questions", "sort=" + sortBy, "page=" + page) : modContext.NavigateUrl(modContext.TabId, "", false, "view=" + Constants.PageScope.Browse.ToString().ToLower(), "type=questions", "sort=" + sortBy));
 }
Пример #15
0
        /// <summary>
        /// Implemtentation of the interface ICustomTokenProvider
        /// </summary>
        /// <param name="page"></param>
        /// <param name="moduleContext"></param>
        /// <returns></returns>
        public IDictionary <string, IPropertyAccess> GetTokens(Page page, ModuleInstanceContext moduleContext)
        {
            var tokens = new Dictionary <string, IPropertyAccess>();

            tokens["preloadeddata"]   = new PreloadedDataPropertyAccess(moduleContext.PortalId);
            tokens["contactsettings"] = new SettingsPropertyAccess(moduleContext.ModuleId, moduleContext.TabId);

            return(tokens);
        }
Пример #16
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="defaultPage"></param>
        /// <param name="modContext"></param>
        /// <remarks>In this method we don't really want to override the dnn stuff, we simply want to add the OG stuff.</remarks>
        public static void SetHomePageMeta(CDefault defaultPage, ModuleInstanceContext modContext)
        {
            var link     = Links.Home(modContext.TabId);
            var content  = defaultPage.Description;
            var title    = defaultPage.Title;
            var keyWords = defaultPage.KeyWords;

            SetPageMetaAndOpenGraph(defaultPage, modContext, title, content, keyWords, link);
        }
Пример #17
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="defaultPage"></param>
        /// <param name="modContext"></param>
        /// <param name="pageTitle"></param>
        /// <param name="description"></param>
        /// <param name="link"></param>
        /// <param name="prevLink"></param>
        /// <param name="nextLink"></param>
        public static void SetTagsPageMeta(CDefault defaultPage, ModuleInstanceContext modContext, string pageTitle, string description, string link, string prevLink, string nextLink)
        {
            var title    = TruncateString(pageTitle + " - " + modContext.PortalSettings.PortalName, Constants.SeoTitleLimit, false);
            var content  = TruncateString(description, Constants.SeoDescriptionLimit, false);
            var keyWords = defaultPage.KeyWords;

            SetPageMetaAndOpenGraph(defaultPage, modContext, title, content, keyWords, link);
            SetPagingMeta(defaultPage, prevLink, nextLink);
        }
Пример #18
0
        /// <summary>
        /// Sets the Page Meta information for the TagDetail.ascx view.
        /// </summary>
        /// <param name="defaultPage"></param>
        /// <param name="objTerm"></param>
        /// <param name="modContext"></param>
        /// <param name="pageTitle"></param>
        /// <param name="description"></param>
        public static void SetTermPageMeta(CDefault defaultPage, TermInfo objTerm, ModuleInstanceContext modContext, string pageTitle, string description)
        {
            var title    = TruncateString(pageTitle + " - " + modContext.PortalSettings.PortalName, Constants.SeoTitleLimit, false);
            var content  = TruncateString(description, Constants.SeoDescriptionLimit, false);
            var link     = Links.ViewTagDetail(modContext, modContext.TabId, objTerm.Name);
            var keyWords = objTerm.Name;

            SetPageMetaAndOpenGraph(defaultPage, modContext, title, content, keyWords, link);
        }
Пример #19
0
        /// <summary>
        /// This method is meant to update SEO related meta information in the DotNetNuke base page. It is passed different information based on which specific 'page' in the module is being viewed.
        /// </summary>
        /// <param name="defaultPage"></param>
        /// <param name="modContext"></param>
        /// <param name="title"></param>
        /// <param name="content"></param>
        /// <param name="keyWords"></param>
        /// <param name="link"></param>
        private static void SetPageMetaAndOpenGraph(CDefault defaultPage, ModuleInstanceContext modContext, string title, string content, string keyWords, string link)
        {
            defaultPage.Title = title;

            var meta = new HtmlMeta();

            meta.Attributes.Add("property", "og:title");
            meta.Attributes.Add("content", title);
            defaultPage.Header.Controls.Add(meta);

            content = StripTagsCharArray(HttpUtility.HtmlDecode(content));
            var description = TruncateString(content, Constants.SeoDescriptionLimit, false);

            if (description.Length > 0)
            {
                defaultPage.Description = description;

                meta = new HtmlMeta();
                meta.Attributes.Add("property", "og:description");
                meta.Attributes.Add("content", description);
                defaultPage.Header.Controls.Add(meta);
            }

            meta = new HtmlMeta();
            meta.Attributes.Add("property", "og:type");
            meta.Attributes.Add("content", "article");
            defaultPage.Header.Controls.Add(meta);

            if (keyWords.Length > 0)
            {
                defaultPage.KeyWords = keyWords;

                meta = new HtmlMeta();
                meta.Attributes.Add("property", "article:tag");
                meta.Attributes.Add("content", keyWords);
                defaultPage.Header.Controls.Add(meta);
            }

            meta = new HtmlMeta();
            meta.Attributes.Add("property", "og:url");
            meta.Attributes.Add("content", link);
            defaultPage.Header.Controls.Add(meta);

            meta = new HtmlMeta();
            meta.Attributes.Add("property", "og:site_name");
            meta.Attributes.Add("content", modContext.PortalSettings.PortalName);
            defaultPage.Header.Controls.Add(meta);

            if (modContext.PortalSettings.LogoFile.Trim().Length > 0)
            {
                meta = new HtmlMeta();
                meta.Attributes.Add("property", "og:image");
                meta.Attributes.Add("content", "http://" + modContext.PortalAlias.HTTPAlias + "/Portals/" + modContext.PortalId + "/" + modContext.PortalSettings.LogoFile);
                defaultPage.Header.Controls.Add(meta);
            }
        }
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// The PackageWriterURL method provides a utility method to build the correct url
        /// to create a package (and return to where you came from)
        /// </summary>
        /// <param name="context">The ModuleContext of the module</param>
        /// <param name="packageId">The id of the package you are packaging</param>
        /// <returns>The localized string</returns>
        /// <history>
        ///     [cnurse]	01/31/2008  created
        ///     [vnguyen]   05/24/2011  updated: calls NavigateUrl of Module Context to handle popups
        /// </history>
        /// -----------------------------------------------------------------------------
        public static string PackageWriterURL(ModuleInstanceContext context, int packageId)
        {
            var parameters = new string[3];

            parameters[0] = "rtab=" + context.TabId;
            parameters[1] = "packageId=" + packageId;
            parameters[2] = "mid=" + context.ModuleId;

            return(context.NavigateUrl(context.TabId, "PackageWriter", true, parameters));
        }
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// The UnInstallURL method provides a utility method to build the correct url
        /// to uninstall a package (and return to where you came from)
        /// </summary>
        /// <param name="tabId">The id of the tab you are on</param>
        /// <param name="packageId">The id of the package you are uninstalling</param>
        /// <returns>The localized string</returns>
        /// <history>
        ///     [cnurse]	07/31/2007  created
        ///     [vnguyen]   05/24/2011  updated: calls NavigateUrl of Module Context to handle popups
        /// </history>
        /// -----------------------------------------------------------------------------
        public static string UnInstallURL(int tabId, int packageId)
        {
            var parameters = new string[2];

            parameters[0] = "rtab=" + tabId;
            parameters[1] = "packageId=" + packageId;
            var context = new ModuleInstanceContext();

            return(context.NavigateUrl(tabId, "UnInstall", true, parameters));
        }
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// The InstallURL method provides a utility method to build the correct url
        /// to install a package (and return to where you came from)
        /// </summary>
        /// <param name="tabId">The id of the tab you are on</param>
        /// <param name="type">The type of package you are installing</param>
        /// <returns>The localized string</returns>
        /// <history>
        ///     [cnurse]	07/26/2007  created
        /// </history>
        /// -----------------------------------------------------------------------------
        public static string InstallURL(int tabId, string type)
        {
            var parameters = new string[2];

            parameters[0] = "rtab=" + tabId;
            if (!string.IsNullOrEmpty(type))
            {
                parameters[1] = "ptype=" + type;
            }
            var context = new ModuleInstanceContext();

            return(context.NavigateUrl(tabId, "Install", false, parameters));
        }
Пример #23
0
        //[Test]
        //public void VocabularyListPresenter_On_Add_Redirects_To_CreateVocabulary()
        //{
        //    // Arrange
        //    var mockController = new Mock<IVocabularyController>();
        //    var view = new Mock<IVocabularyListView>();
        //    view.Setup(v => v.Model).Returns(new VocabularyListModel());

        //    var httpContext = new Mock<HttpContextBase>();
        //    var httpResponse = new Mock<HttpResponseBase>();
        //    httpContext.Setup(h => h.Response).Returns(httpResponse.Object);

        //    var presenter = new VocabularyListPresenter(view.Object, mockController.Object) {HttpContext = httpContext.Object, ModuleId = Constants.MODULE_ValidId, TabId = Constants.TAB_ValidId};

        //    // Act (Raise the AddVocabulary Event)
        //    //view.Raise(v => v.AddVocabulary += null, EventArgs.Empty);

        //    // Assert
        //    httpResponse.Verify(r => r.Redirect(Globals.NavigateURL(Constants.TAB_ValidId, "CreateVocabulary", String.Format("mid={0}", Constants.MODULE_ValidId))));
        //}

        #endregion

        private ModuleInstanceContext CreateModuleContext()
        {
            var context = new ModuleInstanceContext {
                Configuration = new ModuleInfo()
            };

            context.Configuration.ModulePermissions = new ModulePermissionCollection();
            context.Configuration.ModulePermissions.Add(new ModulePermissionInfo()
            {
                PermissionKey = "Edit"
            });
            return(context);
        }
Пример #24
0
 public virtual void Initialise(string fieldTitle, string fieldType, int fieldId, int moduleId,
                                string controlHelpText, string defaultValue, bool required, string validationRule,
                                string validationMsg, string editStyle, string inputSettings,
                                string outputSettings, bool normalizeFlag, bool multipleValuesFlag,
                                bool inputFilterTags, bool inputFilterScript, InputType inputSettingsListType,
                                ModuleInstanceContext moduleContext)
 {
     Initialise(fieldTitle, fieldType, fieldId, moduleId,
                controlHelpText, defaultValue, required, validationRule,
                validationMsg, editStyle, inputSettings,
                outputSettings, normalizeFlag, multipleValuesFlag,
                inputFilterTags, inputFilterScript, inputSettingsListType, moduleContext, null, null);
 }
Пример #25
0
        public EditControls(ModuleInstanceContext moduleContext)
        {
            _moduleContext = moduleContext;
            var isAdmin     = ModuleSecurity.IsAdministrator();
            var isAnonymous = Convert.ToBoolean(moduleContext.PortalSettings.UserId == -1);

            _inputFilterScript =
                Convert.ToBoolean(
                    !(isAdmin && !moduleContext.Settings[SettingName.ForceInputFiltering].AsBoolean()));
            _inputFilterTags =
                Convert.ToBoolean(!isAdmin &&
                                  (isAnonymous ||
                                   moduleContext.Settings[SettingName.ForceInputFiltering].AsBoolean()));
        }
Пример #26
0
        public void IsLocalUrl_Method_Calls_Returns_Correct_Result()
        {
            //Arrange
            var context = new ModuleInstanceContext();
            var helper  = ArrangeHelper(context, "http://foo.com");

            //Act
            var withOuterUrl = helper.IsLocalUrl("http://dnnsoftware.com");
            var withLocalUrl = helper.IsLocalUrl("~/foo/foo.html");

            //Assert
            Assert.IsFalse(withOuterUrl);
            Assert.IsTrue(withLocalUrl);
        }
Пример #27
0
        public void Action_Method_RequestContext_RetrievesRawUrl()
        {
            //Arrange
            var expectedContext = new ModuleInstanceContext();
            var rawUrl          = "http://base.url/";
            var helper          = ArrangeHelper(expectedContext, rawUrl, false);

            //Act
            var result = helper.Action();

            //Assert
            Assert.NotNull(result);
            Assert.AreEqual(rawUrl, result);
        }
Пример #28
0
 public virtual IDictionary <string, IPropertyAccess> GetTokens(Page page, ModuleInstanceContext moduleContext)
 {
     return(new Dictionary <String, IPropertyAccess>
     {
         { "jsscript", new JSScriptPropertyAccess(page: page) },
         { "localization", new ModuleLocalizationPropertyAccess(moduleContext: moduleContext, page: page, html5File: "View.html") },
         { "stylesheet", new StylesheetPropertyAccess(page: page) },
         { "currentuser", new CurrentUserPropertyAccess(page: page) },
         { "navigatetourl", new NavigateToUrlPropertyAccess(page: page) },
         { "isinrole", new IsInRolePropertyAccess(page: page) },
         { "settingconfig", new SettingConfigPropertyAccess(page: page) },
         { "sessionconfig", new SessionPropertyAccess(page: page) }
     });
 }
Пример #29
0
        public void Content_Method_Calls_Returns_Correct_Url()
        {
            //Arrange
            var    context        = new ModuleInstanceContext();
            var    helper         = ArrangeHelper(context, "http://foo.com/foo");
            string expectedResult = "/foo/test.css";

            //Act
            var url = helper.Content("~/test.css");

            //Assert
            Assert.IsNotNull(url);
            Assert.True(expectedResult.Equals(url));
        }
Пример #30
0
        public void Constructor_Sets_ModuleContext_Property()
        {
            // Arrange
            var expectedContext   = new ModuleInstanceContext();
            var mockDnnController = this._mockController.As <IDnnController>();

            mockDnnController.Setup(c => c.ModuleContext).Returns(expectedContext);
            this._viewContext.Controller = this._mockController.Object;

            // Act
            var helper = new DnnHelper(this._viewContext, this._mockViewDataContainer.Object);

            // Assert
            Assert.AreEqual(expectedContext, helper.ModuleContext);
        }