예제 #1
0
        private void GetSettings_GetsValues_FromCorrectSettings(string stringValue, int?integerValue, DateTime?datetimeValue, TimeSpan?timeSpanValue)
        {
            // Arrange
            var expectedStringValue = stringValue ?? string.Empty;
            var moduleInfo          = GetModuleInfo;
            var portalSettings      = new Dictionary <string, string> {
                ["IntegerProperty"] = integerValue?.ToString() ?? string.Empty,
            };
            var moduleSettings = new Hashtable {
                ["DateTimeProperty"] = datetimeValue?.ToString("o", CultureInfo.InvariantCulture) ?? string.Empty, ["StringProperty"] = expectedStringValue,
            };
            var tabModuleSettings = new Hashtable {
                ["TimeSpanProperty"] = timeSpanValue?.ToString("c", CultureInfo.InvariantCulture) ?? string.Empty,
            };

            this.MockPortalSettings(moduleInfo, portalSettings);
            this.MockModuleSettings(moduleInfo, moduleSettings);
            this.MockTabModuleSettings(moduleInfo, tabModuleSettings);

            var settingsRepository = new MyNullableSettingsRepository();

            // Act
            var settings = settingsRepository.GetSettings(moduleInfo);

            // Assert
            Assert.AreEqual(expectedStringValue, settings.StringProperty, "The retrieved string property value is not equal to the stored one");
            Assert.AreEqual(integerValue, settings.IntegerProperty, "The retrieved integer property value is not equal to the stored one");
            Assert.AreEqual(datetimeValue, settings.DateTimeProperty, "The retrieved datetime property value is not equal to the stored one");
            Assert.AreEqual(timeSpanValue, settings.TimeSpanProperty, "The retrieved timespan property value is not equal to the stored one");
            this.MockRepository.VerifyAll();
        }
예제 #2
0
        private void SaveSettings_CallsUpdateSetting_WithRightParameters(string stringValue, int?integerValue, DateTime?datetimeValue, TimeSpan?timeSpanValue)
        {
            // Arrange
            var moduleInfo = GetModuleInfo;
            var settings   = new MyNullableSettings
            {
                StringProperty   = stringValue,
                IntegerProperty  = integerValue,
                DateTimeProperty = datetimeValue,
                TimeSpanProperty = timeSpanValue,
            };

            this.MockModuleSettings(moduleInfo, new Hashtable());
            this.MockTabModuleSettings(moduleInfo, new Hashtable());
            var expectedStringValue = stringValue ?? string.Empty;

            this.MockModuleController.Setup(pc => pc.UpdateModuleSetting(ModuleId, "StringProperty", expectedStringValue));
            var integerString = integerValue?.ToString() ?? string.Empty;

            this.MockPortalController.Setup(pc => pc.UpdatePortalSetting(PortalId, "IntegerProperty", integerString, true, Null.NullString, false));
            var dateTimeString = datetimeValue?.ToString("o", CultureInfo.InvariantCulture) ?? string.Empty;

            this.MockModuleController.Setup(mc => mc.UpdateModuleSetting(ModuleId, "DateTimeProperty", dateTimeString));
            var timeSpanString = timeSpanValue?.ToString("c", CultureInfo.InvariantCulture) ?? string.Empty;

            this.MockModuleController.Setup(mc => mc.UpdateTabModuleSetting(TabModuleId, "TimeSpanProperty", timeSpanString));

            var settingsRepository = new MyNullableSettingsRepository();

            // Act
            settingsRepository.SaveSettings(moduleInfo, settings);

            // Assert
            this.MockRepository.VerifyAll();
        }
예제 #3
0
        public void GetSettings_CallsGetCachedObject()
        {
            // Arrange
            var moduleInfo = GetModuleInfo;

            this.MockCache.Setup(c => c.GetItem("DNN_" + CacheKey(moduleInfo))).Returns(new MyNullableSettings());
            var settingsRepository = new MyNullableSettingsRepository();

            // Act
            settingsRepository.GetSettings(moduleInfo);

            // Assert
            this.MockRepository.VerifyAll();
        }
예제 #4
0
        public void SaveSettings_UpdatesCache()
        {
            //Arrange
            var moduleInfo = GetModuleInfo;
            var settings   = new MyNullableSettings();

            MockCache.Setup(c => c.Insert(CacheKey(moduleInfo), settings));
            var settingsRepository = new MyNullableSettingsRepository();

            //Act
            settingsRepository.SaveSettings(moduleInfo, settings);

            //Assert
            MockRepository.VerifyAll();
        }