Track critical curation summaries and edit resets
This commit is contained in:
@@ -56,6 +56,56 @@ public sealed class LookupServiceCurationIntegrationTests
|
||||
Assert.Equal(initialResponse.SourceImageUrl, reopenedResponse.SourceImageUrl);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Lookup_service_clears_curated_state_when_any_content_is_edited()
|
||||
{
|
||||
var databasePath = CreateEmptyDatabasePath();
|
||||
var repositoryRoot = CreateTemporaryRepositoryRoot();
|
||||
var locator = new CriticalImportArtifactLocator(new TestHostEnvironment(Path.Combine(repositoryRoot, "src", "RolemasterDb.App")));
|
||||
|
||||
await SeedCriticalResultAsync(databasePath, "slash/cells/source-cell.png", 2);
|
||||
WriteSourceImage(repositoryRoot, "slash/cells/source-cell.png");
|
||||
|
||||
var lookupService = new LookupService(CreateDbContextFactory(databasePath), locator);
|
||||
var resultId = await GetResultIdAsync(databasePath);
|
||||
|
||||
var initialResponse = await lookupService.GetCriticalCellEditorAsync("slash", resultId);
|
||||
Assert.NotNull(initialResponse);
|
||||
|
||||
var markCuratedRequest = new CriticalCellUpdateRequest(
|
||||
initialResponse!.RawCellText,
|
||||
initialResponse.QuickParseInput,
|
||||
initialResponse.DescriptionText,
|
||||
initialResponse.RawAffixText,
|
||||
initialResponse.ParseStatus,
|
||||
initialResponse.ParsedJson,
|
||||
true,
|
||||
initialResponse.IsDescriptionOverridden,
|
||||
initialResponse.IsRawAffixTextOverridden,
|
||||
initialResponse.AreEffectsOverridden,
|
||||
initialResponse.AreBranchesOverridden,
|
||||
initialResponse.Effects,
|
||||
initialResponse.Branches);
|
||||
|
||||
var curatedResponse = await lookupService.UpdateCriticalCellAsync("slash", resultId, markCuratedRequest);
|
||||
Assert.NotNull(curatedResponse);
|
||||
Assert.True(curatedResponse!.IsCurated);
|
||||
|
||||
var editedRequest = markCuratedRequest with
|
||||
{
|
||||
DescriptionText = "Edited description after curation."
|
||||
};
|
||||
|
||||
var editedResponse = await lookupService.UpdateCriticalCellAsync("slash", resultId, editedRequest);
|
||||
Assert.NotNull(editedResponse);
|
||||
Assert.False(editedResponse!.IsCurated);
|
||||
|
||||
var reopenedResponse = await lookupService.GetCriticalCellEditorAsync("slash", resultId);
|
||||
Assert.NotNull(reopenedResponse);
|
||||
Assert.False(reopenedResponse!.IsCurated);
|
||||
Assert.Equal("Edited description after curation.", reopenedResponse.DescriptionText);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Lookup_service_resolves_source_image_paths_only_when_artifacts_exist()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user