public void DetermineMigrationLocation_TargetFilePathIsEmpty_LogsMessageAndReturnsEmptyTargetPath() { // Setup const string originalFileName = "Im_a_valid_file_path"; const string expectedFileExtension = "risk"; string validFilePath = TestHelper.GetScratchPadPath($"{originalFileName}.{expectedFileExtension}"); var expectedFileFilter = new FileFilterGenerator(expectedFileExtension, "Riskeer project"); string versionWithDashes = ProjectVersionHelper.GetCurrentDatabaseVersion().Replace('.', '-'); var expectedSuggestedFileName = $"{originalFileName}_{versionWithDashes}"; var mocks = new MockRepository(); var inquiryHelper = mocks.StrictMock <IInquiryHelper>(); inquiryHelper.Expect(h => h.GetTargetFileLocation(expectedFileFilter.Filter, expectedSuggestedFileName)) .Return(null); mocks.ReplayAll(); var migrator = new ProjectMigrator(inquiryHelper); var targetFilePath = "arbitraryPath"; // Call void Call() => targetFilePath = migrator.DetermineMigrationLocation(validFilePath); // Assert var expectedLogMessage = Tuple.Create($"Het migreren van het projectbestand '{validFilePath}' is geannuleerd.", LogLevelConstant.Warn); TestHelper.AssertLogMessageWithLevelIsGenerated(Call, expectedLogMessage, 1); Assert.IsNull(targetFilePath); mocks.VerifyAll(); }
public void DetermineMigrationLocation_ValidPath_AsksUserForTargetPathAndReturnsIt() { // Setup const string originalFileName = "Im_a_valid_file_path"; const string expectedFileExtension = "risk"; string validFilePath = TestHelper.GetScratchPadPath($"{originalFileName}.{expectedFileExtension}"); string versionWithDashes = ProjectVersionHelper.GetCurrentDatabaseVersion().Replace('.', '-'); var expectedFileFilter = new FileFilterGenerator(expectedFileExtension, "Riskeer project"); string expectedSuggestedFileName = $"{originalFileName}_{versionWithDashes}"; string expectedReturnPath = TestHelper.GetScratchPadPath("Im_a_file_path_to_the_migrated_file.risk"); var mocks = new MockRepository(); var inquiryHelper = mocks.StrictMock <IInquiryHelper>(); inquiryHelper.Expect(h => h.GetTargetFileLocation(expectedFileFilter.Filter, expectedSuggestedFileName)) .Return(expectedReturnPath); mocks.ReplayAll(); var migrator = new ProjectMigrator(inquiryHelper); // Call string targetFilePath = migrator.DetermineMigrationLocation(validFilePath); // Assert Assert.AreEqual(expectedReturnPath, targetFilePath); mocks.VerifyAll(); }