namespace HrynCo.NotificationService.Services.Tests.EmailProcessing; using HrynCo.NotificationService.DAL.Abstract.Repositories; using HrynCo.NotificationService.Worker.Services.EmailProcessing; using NSubstitute; public sealed class EmailTemplateServiceTests { [Fact] public async Task GetAsync_WhenRequestedLanguageDoesNotExist_DoesNotSilentlyFallback() { IEmailTemplateRepository repository = Substitute.For(); var service = new EmailTemplateService(repository); InvalidOperationException exception = await Assert.ThrowsAsync( () => service.GetAsync("StoreMate-Prod", "EmailVerification", "UK", CancellationToken.None)); Assert.Contains("language='uk'", exception.Message); await repository.Received(1).GetAsync( "StoreMate-Prod", "EmailVerification", "uk", CancellationToken.None); await repository.DidNotReceive().GetAsync( "StoreMate-Prod", "EmailVerification", "en", Arg.Any()); } }