ComplianceNFs/ComplianceNFs.Core/Ports/DomainInterfaces.cs
Giuliano Paschoalino 606b841435 feat: Add ComplianceNFs.Infrastructure.Tests project and implement unit tests for various services
- Added ComplianceNFs.Infrastructure.Tests project to the solution.
- Implemented unit tests for AccessDbRepository, ArchivingService, AttachmentRepository, InvoiceIngestionService, MailListener, MonitorViewModel, and Worker.
- Enhanced existing tests with additional assertions and mock setups.
- Updated TODOs and roadmap documentation to reflect changes in service implementations and testing coverage.
- Modified ComplianceNFs.sln to include new test project and adjust solution properties.
2025-06-18 16:34:44 -03:00

44 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
using System.IO;
using System.Net.Mail;
using System.Numerics;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace ComplianceNFs.Core.Ports
{
public interface IMailListener
{
void StartListening();
event Action<MailMessage> NewMailReceived;
}
public interface IXmlParser
{
Entities.ParsedInvoice Parse(Stream xmlStream);
}
public interface IPdfParser
{
Entities.ParsedInvoice Parse(Stream pdfStream);
}
public interface IAccessDbRepository
{
IEnumerable<Entities.BuyingRecord> GetByCnpj(string codSmartUnidade);
IEnumerable<Entities.BuyingRecord> GetByCnpjAndMonth(string codSmartUnidade, int refMonth);
}
public interface IAttachmentRepository
{
Task SaveRawAsync(Entities.EnergyInvoice invoice);
Task UpdateMatchAsync(int invoiceId, BigInteger matchedCodTE, Entities.InvoiceStatus status, string notes);
}
public interface IFileArchiver
{
Task ArchiveAsync(Entities.EnergyInvoice invoice, byte[] rawFile);
}
}