feat: Implement AI CSV overwrite confirmation and update CSV output path based on destination
This commit is contained in:
parent
6e05869b04
commit
f3ac1ea920
3 changed files with 214 additions and 0 deletions
|
|
@ -96,6 +96,45 @@ public class DataModelCharacterizationTests
|
|||
model.DestinationPath.ShouldBe($"C:{System.IO.Path.DirectorySeparatorChar}output{System.IO.Path.DirectorySeparatorChar}");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void DestinationPathChange_UpdatesAiCsvFileNameToMatchFinalFolderSegment()
|
||||
{
|
||||
var model = CreateModel();
|
||||
model.CsvOutputPath = @"K:\various\catalogtest\aioutput\test2.csv";
|
||||
|
||||
model.DestinationPath = @"K:\various\catalogtest\Dest\03.KM_8_A\";
|
||||
|
||||
model.CsvOutputPath.ShouldBe(@"K:\various\catalogtest\aioutput\03.KM_8_A.csv");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public async Task ConfirmAiCsvOverwriteIfNeededAsync_CanCancelWhenCsvAlreadyExists()
|
||||
{
|
||||
using var tempDirectory = new TemporaryDirectory();
|
||||
var csvPath = Path.Combine(tempDirectory.Path, "existing.csv");
|
||||
File.WriteAllText(csvPath, "existing");
|
||||
|
||||
var model = CreateModel();
|
||||
model.CsvOutputPath = csvPath;
|
||||
|
||||
string? requestedTitle = null;
|
||||
string? requestedMessage = null;
|
||||
model.ConfirmAiCsvOverwriteAsync = (title, message) =>
|
||||
{
|
||||
requestedTitle = title;
|
||||
requestedMessage = message;
|
||||
return Task.FromResult(false);
|
||||
};
|
||||
|
||||
var shouldContinue = await model.ConfirmAiCsvOverwriteIfNeededAsync();
|
||||
|
||||
shouldContinue.ShouldBeFalse();
|
||||
requestedTitle.ShouldBe("File CSV gia esistente");
|
||||
requestedMessage.ShouldNotBeNull();
|
||||
requestedMessage.ShouldContain("Vuoi sovrascriverlo?");
|
||||
requestedMessage.ShouldContain(csvPath);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void AiChildChange_RaisesDataModelPropertyChanged()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue