using HrynCo.NotificationService.DAL.Abstract.Repositories; using HrynCo.NotificationService.DAL.Abstract.Templates; namespace HrynCo.NotificationService.Web.IntegrationTests; public sealed class FailingEmailTemplateDefinitionRepository(IEmailTemplateRepository inner) : IEmailTemplateDefinitionRepository { public Task> GetDefinitionsAsync(string? serviceName = null, string? key = null, CancellationToken ct = default) => ((IEmailTemplateDefinitionRepository)inner).GetDefinitionsAsync(serviceName, key, ct); public Task GetDefinitionAsync(string serviceName, string key, CancellationToken ct = default) => ((IEmailTemplateDefinitionRepository)inner).GetDefinitionAsync(serviceName, key, ct); public Task GetDefinitionAsync(Guid serviceId, string key, CancellationToken ct = default) => ((IEmailTemplateDefinitionRepository)inner).GetDefinitionAsync(serviceId, key, ct); public Task UpsertDefinitionAsync(EmailTemplateDefinitionPatch patch, CancellationToken ct = default) => throw new IOException("Simulated save failure."); public Task> GetDefinitionsAsync(Guid serviceId, CancellationToken ct = default) => ((IEmailTemplateDefinitionRepository)inner).GetDefinitionsAsync(serviceId, ct); public Task DeleteDefinitionAsync(Guid serviceId, string key, Guid revision, CancellationToken ct = default) => ((IEmailTemplateDefinitionRepository)inner).DeleteDefinitionAsync(serviceId, key, revision, ct); public Task SaveDefinitionAsync(EmailTemplateDefinition definition, bool isNew, CancellationToken ct = default) => throw new IOException("Simulated save failure."); }