Saving settings failed if value was null.

pull/3113/head
Taloth Saldono 8 years ago
parent 0411b82e65
commit 1251e294cd

@ -44,7 +44,8 @@ namespace NzbDrone.Api.Config
SkipFreeSpaceCheckWhenImporting = model.SkipFreeSpaceCheckWhenImporting, SkipFreeSpaceCheckWhenImporting = model.SkipFreeSpaceCheckWhenImporting,
CopyUsingHardlinks = model.CopyUsingHardlinks, CopyUsingHardlinks = model.CopyUsingHardlinks,
EnableMediaInfo = model.EnableMediaInfo, ExtraFileExtensions = model.ExtraFileExtensions,
EnableMediaInfo = model.EnableMediaInfo
}; };
} }
} }

@ -108,5 +108,19 @@ namespace NzbDrone.Core.Test.Configuration
keys.Should().OnlyHaveUniqueItems(); keys.Should().OnlyHaveUniqueItems();
} }
[Test]
public void should_ignore_null_properties()
{
Mocker.GetMock<IConfigRepository>()
.Setup(v => v.Get("downloadedepisodesfolder"))
.Returns(new Config { Id = 1, Key = "DownloadedEpisodesFolder", Value = @"C:\test".AsOsAgnostic() });
var dict = new Dictionary<string, object>();
dict.Add("DownloadedEpisodesFolder", null);
Subject.SaveConfigDictionary(dict);
Mocker.GetMock<IConfigRepository>().Verify(c => c.Upsert("downloadedepisodesfolder", It.IsAny<string>()), Times.Never());
}
} }
} }

@ -55,7 +55,7 @@ namespace NzbDrone.Core.Configuration
{ {
object currentValue; object currentValue;
allWithDefaults.TryGetValue(configValue.Key, out currentValue); allWithDefaults.TryGetValue(configValue.Key, out currentValue);
if (currentValue == null) continue; if (currentValue == null || configValue.Value == null) continue;
var equal = configValue.Value.ToString().Equals(currentValue.ToString()); var equal = configValue.Value.ToString().Equals(currentValue.ToString());

Loading…
Cancel
Save