public void Record_install_parses_packageid_correctly_when_full_path_provided()
        {
            // Arrange
            var recorder = new InstallationRecorder(_mockPackageHistoryRepository.Object, _configurationProvider.Object);
            var dateInstalled = DateTime.Now;

            // Act
            recorder.RecordInstall("C:\\aaa\\bbb\\01-Description.zip", dateInstalled);

            // Assert
            _mockPackageHistoryRepository.Verify(x => x.Add(It.Is<InstalledPackage>(p => p.PackageId == "01")));
        }
        public void Record_install_parses_description_correctly()
        {
            // Arrange
            var recorder = new InstallationRecorder(_mockPackageHistoryRepository.Object, _configurationProvider.Object);
            var dateInstalled = DateTime.Now;

            // Act
            recorder.RecordInstall("01-Description.zip", dateInstalled);

            // Assert
            _mockPackageHistoryRepository.Verify(x => x.Add(It.Is<InstalledPackage>(p => p.Description == "Description")));
        }
        public void Record_install_does_not_install_when_disabled()
        {
            // Arrange
            var settingsObject = new PackageInstallationSettings {RecordInstallationHistory = false};

            _configurationProvider.Setup(x => x.Settings).Returns(settingsObject);
            var recorder = new InstallationRecorder(_mockPackageHistoryRepository.Object, _configurationProvider.Object);
            var dateInstalled = DateTime.Now;

            // Act
            recorder.RecordInstall("01-Description.zip", dateInstalled);

            // Assert
            _mockPackageHistoryRepository.Verify(x => x.Add(It.IsAny<InstalledPackage>()), Times.Never());
        }