Example #1
0
        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();
        }
Example #2
0
        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();
        }