39 lines
1.1 KiB
C#
39 lines
1.1 KiB
C#
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<IFileArchiver>();
|
|
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);
|
|
|
|
// Assert
|
|
mockArchiver.Verify(a => a.ArchiveAsync(invoice), Times.Once);
|
|
}
|
|
}
|
|
}
|