public void GetNextWorkUnit_ScaffoldingStateModel_CorrectWorkUnitForProjectPropertiesLoaded() { // Arrange var vsMock = Mock.Of <IVersionService>(); var expectedWorkUnit = new FormatTargetVersionUnit(vsMock); var drMock = new Mock <IDependencyResolver>(); drMock.Setup(m => m.Get <FormatTargetVersionUnit>()).Returns(expectedWorkUnit); IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object); var project = new SqlProject("a", "b", "c"); var configuration = ConfigurationModel.GetDefault(); var targetVersion = new Version(1, 0); Task HandlerFunc(bool b) => Task.CompletedTask; var model = new ScaffoldingStateModel(project, configuration, targetVersion, HandlerFunc) { CurrentState = StateModelState.SqlProjectPropertiesLoaded }; // Act var workUnit = wuf.GetNextWorkUnit(model); // Assert Assert.AreSame(expectedWorkUnit, workUnit); drMock.Verify(m => m.Get <FormatTargetVersionUnit>(), Times.Once); }
public void GetNextWorkUnit_ScriptCreationStateModel_CorrectWorkUnitTriedToCleanArtifactsDirectory() { // Arrange var bsMock = Mock.Of <IBuildService>(); var expectedWorkUnit = new CopyBuildResultUnit(bsMock); var drMock = new Mock <IDependencyResolver>(); drMock.Setup(m => m.Get <CopyBuildResultUnit>()).Returns(expectedWorkUnit); IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object); var project = new SqlProject("a", "b", "c"); var configuration = ConfigurationModel.GetDefault(); var previousVersion = new Version(1, 0); Task HandlerFunc(bool b) => Task.CompletedTask; var model = new ScriptCreationStateModel(project, configuration, previousVersion, false, HandlerFunc) { CurrentState = StateModelState.TriedToCleanArtifactsDirectory }; // Act var workUnit = wuf.GetNextWorkUnit(model); // Assert Assert.AreSame(expectedWorkUnit, workUnit); drMock.Verify(m => m.Get <CopyBuildResultUnit>(), Times.Once); }
public void GetNextWorkUnit_ScriptCreationStateModel_CorrectWorkUnitForTriedToCreateDeploymentFiles() { // Arrange var mpsMock = Mock.Of <IScriptModifierProviderService>(); var fsaMock = Mock.Of <IFileSystemAccess>(); var loggerMock = Mock.Of <ILogger>(); var expectedWorkUnit = new ModifyDeploymentScriptUnit(mpsMock, fsaMock, loggerMock); var drMock = new Mock <IDependencyResolver>(); drMock.Setup(m => m.Get <ModifyDeploymentScriptUnit>()).Returns(expectedWorkUnit); IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object); var project = new SqlProject("a", "b", "c"); var configuration = ConfigurationModel.GetDefault(); var previousVersion = new Version(1, 0); Task HandlerFunc(bool b) => Task.CompletedTask; var model = new ScriptCreationStateModel(project, configuration, previousVersion, false, HandlerFunc) { CurrentState = StateModelState.TriedToCreateDeploymentFiles }; // Act var workUnit = wuf.GetNextWorkUnit(model); // Assert Assert.AreSame(expectedWorkUnit, workUnit); drMock.Verify(m => m.Get <ModifyDeploymentScriptUnit>(), Times.Once); }
public void GetNextWorkUnit_ScriptCreationStateModel_CorrectWorkUnitForFormattedTargetVersionValidated() { // Arrange var spsMock = Mock.Of <ISqlProjectService>(); var expectedWorkUnit = new LoadPathsUnit(spsMock); var drMock = new Mock <IDependencyResolver>(); drMock.Setup(m => m.Get <LoadPathsUnit>()).Returns(expectedWorkUnit); IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object); var project = new SqlProject("a", "b", "c"); var configuration = ConfigurationModel.GetDefault(); var previousVersion = new Version(1, 0); Task HandlerFunc(bool b) => Task.CompletedTask; var model = new ScriptCreationStateModel(project, configuration, previousVersion, false, HandlerFunc) { CurrentState = StateModelState.FormattedTargetVersionValidated }; // Act var workUnit = wuf.GetNextWorkUnit(model); // Assert Assert.AreSame(expectedWorkUnit, workUnit); drMock.Verify(m => m.Get <LoadPathsUnit>(), Times.Once); }
public void GetNextWorkUnit_ScaffoldingStateModel_CorrectWorkUnitForTriedToCopyBuildResult() { // Arrange var fsaMock = Mock.Of <IFileSystemAccess>(); var loggerMock = Mock.Of <ILogger>(); var expectedWorkUnit = new CopyDacpacToSharedDacpacRepositoryUnit(fsaMock, loggerMock); var drMock = new Mock <IDependencyResolver>(); drMock.Setup(m => m.Get <CopyDacpacToSharedDacpacRepositoryUnit>()).Returns(expectedWorkUnit); IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object); var project = new SqlProject("a", "b", "c"); var configuration = ConfigurationModel.GetDefault(); var targetVersion = new Version(1, 0); Task HandlerFunc(bool b) => Task.CompletedTask; var model = new ScaffoldingStateModel(project, configuration, targetVersion, HandlerFunc) { CurrentState = StateModelState.TriedToCopyBuildResult }; // Act var workUnit = wuf.GetNextWorkUnit(model); // Assert Assert.AreSame(expectedWorkUnit, workUnit); drMock.Verify(m => m.Get <CopyDacpacToSharedDacpacRepositoryUnit>(), Times.Once); }
public void GetNextWorkUnit_ScriptCreationStateModel_ArgumentNullException_StateModel() { // Arrange var drMock = new Mock <IDependencyResolver>(); IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object); // Act & Assert // ReSharper disable once AssignNullToNotNullAttribute Assert.Throws <ArgumentNullException>(() => wuf.GetNextWorkUnit(null as ScriptCreationStateModel)); }
public void GetNextWorkUnit_ScaffoldingStateModel_ArgumentOutOfRangeException_StateModel(StateModelState state) { // Arrange var drMock = new Mock <IDependencyResolver>(); IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object); var project = new SqlProject("a", "b", "c"); var configuration = ConfigurationModel.GetDefault(); var targetVersion = new Version(1, 0); Task HandlerFunc(bool b) => Task.CompletedTask; var model = new ScaffoldingStateModel(project, configuration, targetVersion, HandlerFunc) { CurrentState = state }; // Act & Assert // ReSharper disable once AssignNullToNotNullAttribute Assert.Throws <ArgumentOutOfRangeException>(() => wuf.GetNextWorkUnit(model)); }
public void GetNextWorkUnit_ScriptCreationStateModel_CorrectWorkUnitForDeletedLatestArtifacts() { // Arrange var drMock = new Mock <IDependencyResolver>(); IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object); var project = new SqlProject("a", "b", "c"); var configuration = ConfigurationModel.GetDefault(); var previousVersion = new Version(1, 0); Task HandlerFunc(bool b) => Task.CompletedTask; var model = new ScriptCreationStateModel(project, configuration, previousVersion, false, HandlerFunc) { CurrentState = StateModelState.DeletedLatestArtifacts }; // Act var workUnit = wuf.GetNextWorkUnit(model); // Assert Assert.IsNull(workUnit); }
public void GetNextWorkUnit_ScaffoldingStateModel_CorrectWorkUnitForTriedToCopyDacpacToSharedDacpacRepository() { // Arrange var drMock = new Mock <IDependencyResolver>(); IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object); var project = new SqlProject("a", "b", "c"); var configuration = ConfigurationModel.GetDefault(); var targetVersion = new Version(1, 0); Task HandlerFunc(bool b) => Task.CompletedTask; var model = new ScaffoldingStateModel(project, configuration, targetVersion, HandlerFunc) { CurrentState = StateModelState.TriedToCopyDacpacToSharedDacpacRepository }; // Act var workUnit = wuf.GetNextWorkUnit(model); // Assert Assert.IsNull(workUnit); }
public void GetNextWorkUnit_ScriptCreationStateModel_CorrectWorkUnitForModifiedDeploymentScript(bool createLatest) { // Arrange var fsaMock = Mock.Of <IFileSystemAccess>(); var vsaMock = Mock.Of <IVisualStudioAccess>(); var loggerMock = Mock.Of <ILogger>(); var expectedWorkUnit = new DeleteRefactorLogUnit(fsaMock, vsaMock, loggerMock); var drMock = new Mock <IDependencyResolver>(); drMock.Setup(m => m.Get <DeleteRefactorLogUnit>()).Returns(expectedWorkUnit); IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object); var project = new SqlProject("a", "b", "c"); var configuration = ConfigurationModel.GetDefault(); var previousVersion = new Version(1, 0); Task HandlerFunc(bool b) => Task.CompletedTask; var model = new ScriptCreationStateModel(project, configuration, previousVersion, createLatest, HandlerFunc) { CurrentState = StateModelState.ModifiedDeploymentScript }; // Act var workUnit = wuf.GetNextWorkUnit(model); // Assert if (createLatest) { Assert.IsNull(workUnit); drMock.Verify(m => m.Get <DeleteRefactorLogUnit>(), Times.Never); } else { Assert.AreSame(expectedWorkUnit, workUnit); drMock.Verify(m => m.Get <DeleteRefactorLogUnit>(), Times.Once); } }