Skip to content

Commit 5b8f3e6

Browse files
Merge pull request #899 from TransactionProcessing/task/#888_file_import_log_file_duplicate_handling
Task/#888 file import log file duplicate handling
2 parents 4d8a960 + 67cbce1 commit 5b8f3e6

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

TransactionProcessor.DatabaseTests/ContractEventTests.cs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,5 +130,25 @@ public async Task AddFileImportLog_FileImportLogIsAdded_EventReplayHandled()
130130
result = await this.Repository.AddFileImportLog(TestData.DomainEvents.ImportLogCreatedEvent, CancellationToken.None);
131131
result.IsSuccess.ShouldBeTrue();
132132
}
133-
}
133+
134+
[Fact]
135+
public async Task AddFileImportLogFile_FileImportLogIsAdded()
136+
{
137+
Result result = await this.Repository.AddFileToImportLog(TestData.DomainEvents.FileAddedToImportLogEvent, CancellationToken.None);
138+
result.IsSuccess.ShouldBeTrue();
139+
EstateManagementContext context = this.GetContext();
140+
var fileImportLogFile = await context.FileImportLogFiles.SingleOrDefaultAsync(f => f.FileImportLogId == TestData.DomainEvents.FileAddedToImportLogEvent.FileImportLogId && f.FileId == TestData.DomainEvents.FileAddedToImportLogEvent.FileId);
141+
fileImportLogFile.ShouldNotBeNull();
142+
}
143+
144+
[Fact]
145+
public async Task AddFileImportLogFile_EventReplayHandled()
146+
{
147+
Result result = await this.Repository.AddFileToImportLog(TestData.DomainEvents.FileAddedToImportLogEvent, CancellationToken.None);
148+
result.IsSuccess.ShouldBeTrue();
149+
150+
result = await this.Repository.AddFileToImportLog(TestData.DomainEvents.FileAddedToImportLogEvent, CancellationToken.None);
151+
result.IsSuccess.ShouldBeTrue();
152+
}
153+
}
134154
}

TransactionProcessor.Repository/ITransactionProcessorReadModelRepository.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1878,7 +1878,7 @@ public async Task<Result> AddFileToImportLog(FileAddedToImportLogEvent domainEve
18781878

18791879
await context.FileImportLogFiles.AddAsync(fileImportLogFile, cancellationToken);
18801880

1881-
return await context.SaveChangesAsync(cancellationToken);
1881+
return await context.SaveChangesWithDuplicateHandling(cancellationToken);
18821882
}
18831883

18841884
public async Task<Result> UpdateFileAsComplete(FileProcessingCompletedEvent domainEvent,

0 commit comments

Comments
 (0)