Example #1
0
    public void TestSave()
    {
        var languageModels = new[]
        {
            new LanguageModel("test", "test", "t1"),
            new LanguageModel("test2", "test2", "t2")
        };
        var language = new LanguageStateModel
        {
            Name = languageModels.Last().Name,
            Code = languageModels.Last().Code
        };
        var localizationServiceMock = new Mock <ILocalizationService>();

        localizationServiceMock
        .Setup(m => m.GetSavedLanguage())
        .Returns(language);
        localizationServiceMock
        .Setup(m => m.SaveLanguage(It.Is <LanguageStateModel>(l =>
                                                              l.Code == languageModels.First().Code&& l.Name == languageModels.First().Name)))
        .Verifiable();
        var languageManagerMock = new Mock <ILanguageManager>();

        languageManagerMock
        .SetupGet(m => m.AllLanguages)
        .Returns(languageModels);
        languageManagerMock
        .Setup(m => m.SetLanguage(languageModels.First()))
        .Verifiable();
        var viewModel = new LanguageSettingsViewModel(localizationServiceMock.Object, languageManagerMock.Object);

        viewModel.Activate();
        viewModel.CurrentLanguage = viewModel.Languages.First();
        Assert.True(viewModel.IsChanged);
        viewModel.SaveChanges();

        languageManagerMock
        .Verify(m => m.SetLanguage(languageModels.First()), Times.Once);
        localizationServiceMock
        .Verify(m => m.SaveLanguage(It.Is <LanguageStateModel>(l =>
                                                               l.Code == languageModels.First().Code&& l.Name == languageModels.First().Name)), Times.Once);
    }
Example #2
0
    public void SaveLanguage(LanguageStateModel languageModel)
    {
        if (languageModel is null)
        {
            throw new ArgumentNullException(nameof(languageModel));
        }

        if (string.IsNullOrEmpty(languageModel.Name))
        {
            throw new ArgumentException($"{nameof(languageModel.Name)} can't be empty.");
        }

        if (string.IsNullOrEmpty(languageModel.Code))
        {
            throw new ArgumentException($"{nameof(languageModel.Code)} can't be empty.");
        }

        using var uow = _unitOfWorkFactory.Create();
        var repository = uow.GetRepository <Language>();

        var language = CreateFrom(languageModel);

        repository.Upsert(LanguageSettingsId, language);
    }
Example #3
0
 private static Language CreateFrom(LanguageStateModel model) =>
 private static Language CreateFrom(LanguageStateModel model) =>
 new Language
 {
     Code = model.Code,
     Name = model.Name
 };