public void ShouldWriteNewSettingsToTheConfigProviderAndReturnNothing()
        {
            // Arrange
            var mockConfigStore = new Mock<IScaffoldingConfigStore>();
            var mockScaffolderLocator = new Mock<IScaffolderLocator>();
            mockScaffolderLocator.Setup(x => x.GetScaffolders(_solutionManager.DefaultProject, "someScaffolder", false)).Returns(new[] {
                new ScaffolderInfo("foundScaffolderName", null, null, null, null)
            });

            // Act
            var results = new SetDefaultScaffolderCmdlet(_solutionManager, null, mockConfigStore.Object, mockScaffolderLocator.Object) {
                Name = "someDefault",
                Scaffolder = "someScaffolder"
            }.GetResults<DefaultScaffolderConfigEntry>();

            // Assert
            Assert.AreEqual(0, results.Count());
            mockConfigStore.Verify(x => x.SetProjectDefaultScaffolder(_solutionManager.DefaultProject, "someDefault", "foundScaffolderName", false));
        }
        public void ShouldBeAbleToWriteConfigToArbitraryProject()
        {
            // Arrange
            var mockConfigStore = new Mock<IScaffoldingConfigStore>();
            var mockScaffolderLocator = new Mock<IScaffolderLocator>();
            var vbProject = _solutionManager.GetProject("myVbProject");
            mockScaffolderLocator.Setup(x => x.GetScaffolders(vbProject, "someScaffolder", false)).Returns(new[] {
                new ScaffolderInfo("foundScaffolderName", null, null, null, null)
            });

            // Act
            var results = new SetDefaultScaffolderCmdlet(_solutionManager, null, mockConfigStore.Object, mockScaffolderLocator.Object) {
                Name = "someDefault",
                Scaffolder = "someScaffolder",
                Project = vbProject.Name
            }.GetResults<DefaultScaffolderConfigEntry>();

            // Assert
            Assert.AreEqual(0, results.Count());
            mockConfigStore.Verify(x => x.SetProjectDefaultScaffolder(vbProject, "someDefault", "foundScaffolderName", false));
        }
        public void ShouldBeAbleToWriteSolutionWideSettings()
        {
            // Arrange
            var mockConfigStore = new Mock<IScaffoldingConfigStore>();
            var mockScaffolderLocator = new Mock<IScaffolderLocator>();
            mockScaffolderLocator.Setup(x => x.GetScaffolders(null, "someScaffolder", false)).Returns(new[] {
                new ScaffolderInfo("foundScaffolderName", null, null, null, null)
            });

            // Act
            var results = new SetDefaultScaffolderCmdlet(_solutionManager, null, mockConfigStore.Object, mockScaffolderLocator.Object)
            {
                Name = "someDefault",
                Scaffolder = "someScaffolder",
                SolutionWide = SwitchParameter.Present,
                DoNotOverwriteExistingSetting = SwitchParameter.Present
            }.GetResults<DefaultScaffolderConfigEntry>();

            // Assert
            Assert.AreEqual(0, results.Count());
            mockConfigStore.Verify(x => x.SetSolutionDefaultScaffolder("someDefault", "foundScaffolderName", true));
        }