public void GetNextWorkUnit_ScaffoldingStateModel_CorrectWorkUnitForInitialized() { // Arrange var spsMock = Mock.Of <ISqlProjectService>(); var expectedWorkUnit = new LoadSqlProjectPropertiesUnit(spsMock); var drMock = new Mock <IDependencyResolver>(); drMock.Setup(m => m.Get <LoadSqlProjectPropertiesUnit>()).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.Initialized }; // Act var workUnit = wuf.GetNextWorkUnit(model); // Assert Assert.AreSame(expectedWorkUnit, workUnit); drMock.Verify(m => m.Get <LoadSqlProjectPropertiesUnit>(), 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_CorrectWorkUnitForFormattedTargetVersionLoaded() { // Arrange var vsaMock = Mock.Of <IVisualStudioAccess>(); var loggerMock = Mock.Of <ILogger>(); var expectedWorkUnit = new ValidateTargetVersionUnit(vsaMock, loggerMock); var drMock = new Mock <IDependencyResolver>(); drMock.Setup(m => m.Get <ValidateTargetVersionUnit>()).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.FormattedTargetVersionLoaded }; // Act var workUnit = wuf.GetNextWorkUnit(model); // Assert Assert.AreSame(expectedWorkUnit, workUnit); drMock.Verify(m => m.Get <ValidateTargetVersionUnit>(), 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); } }