using System; using System.Threading.Tasks; using ComplianceNFs.Core.Entities; using ComplianceNFs.Core.Application.Services; using ComplianceNFs.Core.Ports; using Xunit; using Moq; namespace ComplianceNFs.Infrastructure.Tests { public class ArchivingServiceTests { [Fact] public async Task ArchiveAsync_CallsFileArchiver() { // Arrange var mockArchiver = new Mock(); var service = new ArchivingService(mockArchiver.Object); var invoice = new EnergyInvoice { MailId = "mailid", ConversationId = "convid", SupplierEmail = "test@supplier.com", ReceivedDate = DateTime.Now, InvoiceId = 1, Filename = "file.xml", Status = InvoiceStatus.Validated }; var fileBytes = new byte[] { 1, 2, 3 }; // Act await service.ArchiveAsync(invoice, fileBytes); // Assert mockArchiver.Verify(a => a.ArchiveAsync(invoice, fileBytes), Times.Once); } } }