2026-03-03 07:36:09 -06:00
|
|
|
namespace FiscalOS.Infra.Tests.Integration;
|
|
|
|
|
|
|
|
|
|
public class PlaidRemovedTransactionHandlerTests : IntegrationTest
|
|
|
|
|
{
|
|
|
|
|
private readonly Mock<ILogger<PlaidRemovedTransactionHandler>> _mockLogger = new();
|
|
|
|
|
private readonly PlaidRemovedTransactionHandler _sut;
|
|
|
|
|
|
|
|
|
|
public PlaidRemovedTransactionHandlerTests()
|
|
|
|
|
{
|
|
|
|
|
_sut = PlaidRemovedTransactionHandler.From(AppDbContext, _mockLogger.Object);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public async Task HandleAsync_WhenCalled_ItShouldRemoveTheCorrectTransactions()
|
|
|
|
|
{
|
2026-03-05 13:58:00 -06:00
|
|
|
var user = await CreateTestUserAsync();
|
|
|
|
|
var testTransaction = user.Transactions.First();
|
2026-03-03 07:36:09 -06:00
|
|
|
|
|
|
|
|
var transactionToRemove = new Going.Plaid.Entity.RemovedTransaction()
|
|
|
|
|
{
|
2026-03-05 13:58:00 -06:00
|
|
|
TransactionId = ((PlaidTransactionMetadata)testTransaction.Metadata!).PlaidId,
|
2026-03-03 07:36:09 -06:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var result = await _sut.HandleAsync([transactionToRemove], TestContext.Current.CancellationToken);
|
|
|
|
|
|
|
|
|
|
result.Should().Be(1);
|
|
|
|
|
}
|
|
|
|
|
}
|