Index: Application/Ringtoets/src/Application.Ringtoets.Migration/Properties/Resources.Designer.cs
===================================================================
diff -u -r0d01d77a85f997d3cbe2e3f83d6bf3438ec6806d -raaede2e2c97c9ecbb159e5c9576381c177cd5255
--- Application/Ringtoets/src/Application.Ringtoets.Migration/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 0d01d77a85f997d3cbe2e3f83d6bf3438ec6806d)
+++ Application/Ringtoets/src/Application.Ringtoets.Migration/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision aaede2e2c97c9ecbb159e5c9576381c177cd5255)
@@ -110,7 +110,9 @@
}
///
- /// Looks up a localized string similar to Het project dat u wilt openen is opgeslagen in het formaat van een eerdere versie van Ringtoets. Weet u zeker dat u het bestand wilt migreren naar het formaat van uw huidige Ringtoetsversie ({0})?.
+ /// Looks up a localized string similar to Het project dat u wilt openen is opgeslagen in het formaat van een eerdere versie van Ringtoets.
+ ///
+ ///Weet u zeker dat u het bestand wilt migreren naar het formaat van uw huidige Ringtoetsversie ({0})?.
///
internal static string RingtoetsProjectMigrator_Migrate_Outdated_project_file_update_to_current_version_0_inquire {
get {
Index: Application/Ringtoets/src/Application.Ringtoets.Migration/Properties/Resources.resx
===================================================================
diff -u -r0d01d77a85f997d3cbe2e3f83d6bf3438ec6806d -raaede2e2c97c9ecbb159e5c9576381c177cd5255
--- Application/Ringtoets/src/Application.Ringtoets.Migration/Properties/Resources.resx (.../Resources.resx) (revision 0d01d77a85f997d3cbe2e3f83d6bf3438ec6806d)
+++ Application/Ringtoets/src/Application.Ringtoets.Migration/Properties/Resources.resx (.../Resources.resx) (revision aaede2e2c97c9ecbb159e5c9576381c177cd5255)
@@ -118,7 +118,9 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- Het project dat u wilt openen is opgeslagen in het formaat van een eerdere versie van Ringtoets. Weet u zeker dat u het bestand wilt migreren naar het formaat van uw huidige Ringtoetsversie ({0})?
+ Het project dat u wilt openen is opgeslagen in het formaat van een eerdere versie van Ringtoets.
+
+Weet u zeker dat u het bestand wilt migreren naar het formaat van uw huidige Ringtoetsversie ({0})?
rtd
Index: Application/Ringtoets/src/Application.Ringtoets.Migration/RingtoetsProjectMigrator.cs
===================================================================
diff -u -r1b9445050ddc7786014349d7014c7c4d85242a5d -raaede2e2c97c9ecbb159e5c9576381c177cd5255
--- Application/Ringtoets/src/Application.Ringtoets.Migration/RingtoetsProjectMigrator.cs (.../RingtoetsProjectMigrator.cs) (revision 1b9445050ddc7786014349d7014c7c4d85242a5d)
+++ Application/Ringtoets/src/Application.Ringtoets.Migration/RingtoetsProjectMigrator.cs (.../RingtoetsProjectMigrator.cs) (revision aaede2e2c97c9ecbb159e5c9576381c177cd5255)
@@ -108,7 +108,12 @@
ValidateProjectPath(originalFilePath, nameof(originalFilePath), Resources.RingtoetsProjectMigrator_Source_Descriptor);
string suggestedFileName = GetSuggestedFileName(originalFilePath);
- return inquiryHelper.GetTargetFileLocation(fileFilter.Filter, suggestedFileName);
+ string migrationLocation = inquiryHelper.GetTargetFileLocation(fileFilter.Filter, suggestedFileName);
+ if (string.IsNullOrEmpty(migrationLocation))
+ {
+ GenerateMigrationCancelledLogMessage(originalFilePath);
+ }
+ return migrationLocation;
}
public bool Migrate(string sourceFilePath, string targetFilePath)
Index: Application/Ringtoets/test/Application.Ringtoets.Migration.Test/RingtoetsProjectMigratorTest.cs
===================================================================
diff -u -r82b2158c3ba292b313a3607c654881dde20fe6d0 -raaede2e2c97c9ecbb159e5c9576381c177cd5255
--- Application/Ringtoets/test/Application.Ringtoets.Migration.Test/RingtoetsProjectMigratorTest.cs (.../RingtoetsProjectMigratorTest.cs) (revision 82b2158c3ba292b313a3607c654881dde20fe6d0)
+++ Application/Ringtoets/test/Application.Ringtoets.Migration.Test/RingtoetsProjectMigratorTest.cs (.../RingtoetsProjectMigratorTest.cs) (revision aaede2e2c97c9ecbb159e5c9576381c177cd5255)
@@ -156,7 +156,8 @@
{
// Setup
string question = "Het project dat u wilt openen is opgeslagen in het formaat van een eerdere versie van Ringtoets." +
- $" Weet u zeker dat u het bestand wilt migreren naar het formaat van uw huidige Ringtoetsversie ({currentDatabaseVersion})?";
+ $"{Environment.NewLine}{Environment.NewLine}" +
+ $"Weet u zeker dat u het bestand wilt migreren naar het formaat van uw huidige Ringtoetsversie ({currentDatabaseVersion})?";
var mocks = new MockRepository();
var inquiryHelper = mocks.StrictMock();
inquiryHelper.Expect(h => h.InquireContinuation(question)).Return(confirmContinuation);
@@ -281,6 +282,43 @@
}
[Test]
+ [TestCase(null)]
+ [TestCase("")]
+ public void DetermineMigrationLocation_TargetFilePathIsEmpty_LogsMessageAndReturnsEmptyTargetPath(string targetPath)
+ {
+ // Setup
+ const string originalFileName = "Im_a_valid_file_path";
+ const string expectedFileExtension = "rtd";
+
+ string validFilePath = TestHelper.GetScratchPadPath($"{originalFileName}.{expectedFileExtension}");
+
+ var expectedFileFilter = new FileFilterGenerator(expectedFileExtension, "Ringtoets project");
+ string versionWithDashes = RingtoetsVersionHelper.GetCurrentDatabaseVersion().Replace('.', '-');
+ string expectedSuggestedFileName = $"{originalFileName}_{versionWithDashes}";
+
+ var mocks = new MockRepository();
+ var inquiryHelper = mocks.StrictMock();
+ inquiryHelper.Expect(h => h.GetTargetFileLocation(expectedFileFilter.Filter, expectedSuggestedFileName))
+ .Return(targetPath);
+ mocks.ReplayAll();
+
+ var migrator = new RingtoetsProjectMigrator(inquiryHelper);
+ string targetFilePath = "arbitraryPath";
+
+ // Call
+ Action call = () => targetFilePath = migrator.DetermineMigrationLocation(validFilePath);
+
+ // Assert
+ Tuple expectedLogMessage = Tuple.Create($"Het migreren van het projectbestand '{validFilePath}' is geannuleerd.",
+ LogLevelConstant.Warn);
+
+ TestHelper.AssertLogMessageWithLevelIsGenerated(call, expectedLogMessage, 1);
+
+ Assert.AreEqual(targetPath, targetFilePath);
+ mocks.VerifyAll();
+ }
+
+ [Test]
public void Migrate_SourcePathNull_ThrowsArgumentNullException()
{
// Setup