Merge branch 'fix-u4-3839' of https://github.com/lars-erik/Umbraco-CMS into lars-erik-fix-u4-3839

This commit is contained in:
Shannon
2014-03-25 12:47:26 +11:00
6 changed files with 129 additions and 36 deletions

View File

@@ -67,6 +67,38 @@ namespace Umbraco.Tests.Persistence.Repositories
}
[Test]
public void Get_Ignores_Item_WhenLanguageMissing()
{
// Arrange
var language = ServiceContext.LocalizationService.GetLanguageByCultureCode("en-US");
var itemMissingLanguage = new DictionaryItem("I have invalid language");
var translations = new List<IDictionaryTranslation>
{
new DictionaryTranslation(new Language("") { Id = 0 }, ""),
new DictionaryTranslation(language, "I have language")
};
itemMissingLanguage.Translations = translations;
ServiceContext.LocalizationService.Save(itemMissingLanguage);//Id 3?
var provider = new PetaPocoUnitOfWorkProvider();
var unitOfWork = provider.GetUnitOfWork();
LanguageRepository languageRepository;
using (var repository = CreateRepository(unitOfWork, out languageRepository))
{
// Act
var dictionaryItem = repository.Get(3);
// Assert
Assert.That(dictionaryItem, Is.Not.Null);
Assert.That(dictionaryItem.ItemKey, Is.EqualTo("I have invalid language"));
Assert.That(dictionaryItem.Translations.Any(), Is.True);
Assert.That(dictionaryItem.Translations.Any(x => x == null), Is.False);
Assert.That(dictionaryItem.Translations.First().Value, Is.EqualTo("I have language"));
Assert.That(dictionaryItem.Translations.Count(), Is.EqualTo(1));
}
}
[Test]
public void Can_Perform_GetAll_On_DictionaryRepository()
{