private static async Task Main() { var service = new CalingaService(AppCalingaServiceSettings); Console.WriteLine("calinga service: try to get all languages"); var languages = await service.GetLanguagesAsync().ConfigureAwait(false); foreach (var name in languages) { Console.WriteLine(name); } Console.WriteLine("calinga service: try to get translations"); var translation = await service.TranslateAsync("Button.Cancel", "en").ConfigureAwait(false); Console.WriteLine(Invariant($"Key: Button.Cancel, Translation: {translation}")); translation = await service.TranslateAsync("Button.Create", "en").ConfigureAwait(false); Console.WriteLine(Invariant($"Key: Button.Create, Translation: {translation}")); Console.WriteLine("clean cache..."); await service.ClearCache().ConfigureAwait(false); Console.ReadKey(false); }
public void Translate_ShouldThrown_WhenKeyLanguageEmpty() { // Arrange var service = new CalingaService(_testCalingaServiceSettings); // Act Func <Task> getTranslations = async() => await service.TranslateAsync(TestData.Key_1, "").ConfigureAwait(false); // Assert getTranslations.Should().Throw <ArgumentNullException>(); }
public async Task Translate_ShouldReturnTranslationFromTestData() { // Arrange var service = new CalingaService(_cachingService.Object, _consumerHttpClient.Object, _testCalingaServiceSettings); // Act var translation = await service.TranslateAsync(TestData.Key_1, TestData.Language_DE).ConfigureAwait(false); // Assert translation.Should().Be(Invariant($"{TestData.Language_DE} {TestData.Translation_Key_1}")); translation.Should().NotBe(Invariant($"{TestData.Language_EN} {TestData.Translation_Key_1}")); }
public async Task Translate_ShouldReturnKey_WhenKeyNotExists() { // Arrange var service = new CalingaService(_cachingService.Object, _consumerHttpClient.Object, _testCalingaServiceSettings); var key = Invariant($"{TestData.Key_1}_Test"); // Act var result = await service.TranslateAsync(key, TestData.Language_DE).ConfigureAwait(false); // Assert result.Should().Be(key); }
public async Task Translate_ShouldReturnKey_WhenNoTranslations() { // Arrange var cachingService = new Mock <ICachingService>(); cachingService.Setup(x => x.GetTranslations(TestData.Language_DE, _testCalingaServiceSettings.IncludeDrafts)).Throws <TranslationsNotAvailableException>(); _consumerHttpClient.Setup(x => x.GetTranslationsAsync(TestData.Language_DE)).Throws <TranslationsNotAvailableException>(); var service = new CalingaService(cachingService.Object, _consumerHttpClient.Object, _testCalingaServiceSettings); // Act var result = await service.TranslateAsync(TestData.Key_1, TestData.Language_DE).ConfigureAwait(false); // Assert result.Should().Be(TestData.Key_1); }