Browse Source

Bugfix: Reference to master language changed after removing one language.

pull/250/head
Sebastian Stehle 8 years ago
parent
commit
a29d5cb80a
  1. 3
      src/Squidex.Domain.Apps.Core.Model/Apps/LanguagesConfig.cs
  2. 2
      tests/Squidex.Domain.Apps.Core.Tests/Model/Apps/LanguagesConfigTests.cs

3
src/Squidex.Domain.Apps.Core.Model/Apps/LanguagesConfig.cs

@ -121,8 +121,7 @@ namespace Squidex.Domain.Apps.Core.Apps
.ToImmutableDictionary(x => x.Language); .ToImmutableDictionary(x => x.Language);
var newMaster = var newMaster =
Master.Language != language ? newLanguages.Values.FirstOrDefault(x => x.Language == Master.Language) ??
Master :
newLanguages.Values.FirstOrDefault(); newLanguages.Values.FirstOrDefault();
return new LanguagesConfig(newLanguages, newMaster); return new LanguagesConfig(newLanguages, newMaster);

2
tests/Squidex.Domain.Apps.Core.Tests/Model/Apps/LanguagesConfigTests.cs

@ -139,6 +139,8 @@ namespace Squidex.Domain.Apps.Core.Model.Apps
var config_0 = LanguagesConfig.Build(Language.DE, Language.IT, Language.RU); var config_0 = LanguagesConfig.Build(Language.DE, Language.IT, Language.RU);
var config_1 = config_0.Remove(Language.IT); var config_1 = config_0.Remove(Language.IT);
Assert.Same(config_1.Master, config_1.OfType<LanguageConfig>().FirstOrDefault(x => x.Language == Language.DE));
config_1.ToList().ShouldBeEquivalentTo( config_1.ToList().ShouldBeEquivalentTo(
new List<LanguageConfig> new List<LanguageConfig>
{ {

Loading…
Cancel
Save