public async Task Work_ScriptCreationStateModel_SkipBuild_Async() { // Arrange var project = new SqlProject("a", "b", "c"); var configuration = ConfigurationModel.GetDefault(); configuration.BuildBeforeScriptCreation = false; var previousVersion = new Version(1, 2, 3); Task HandleWorkInProgressChanged(bool arg) => Task.CompletedTask; var model = new ScriptCreationStateModel(project, configuration, previousVersion, true, HandleWorkInProgressChanged); var bsMock = new Mock <IBuildService>(); bsMock.Setup(m => m.BuildProjectAsync(project)).ReturnsAsync(true); IWorkUnit <ScriptCreationStateModel> unit = new BuildProjectUnit(bsMock.Object); // Act await unit.Work(model, CancellationToken.None); // Assert Assert.AreEqual(StateModelState.TriedToBuildProject, model.CurrentState); Assert.IsNull(model.Result); bsMock.Verify(m => m.BuildProjectAsync(project), Times.Never); }
public void GetNextWorkUnit_ScriptCreationStateModel_CorrectWorkUnitForPathsVerified() { // Arrange var bsMock = Mock.Of <IBuildService>(); var expectedWorkUnit = new BuildProjectUnit(bsMock); var drMock = new Mock <IDependencyResolver>(); drMock.Setup(m => m.Get <BuildProjectUnit>()).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.PathsVerified }; // Act var workUnit = wuf.GetNextWorkUnit(model); // Assert Assert.AreSame(expectedWorkUnit, workUnit); drMock.Verify(m => m.Get <BuildProjectUnit>(), Times.Once); }
public void Work_ScriptCreationStateModel_ArgumentNullException_StateModel() { // Arrange var bsMock = new Mock <IBuildService>(); IWorkUnit <ScriptCreationStateModel> unit = new BuildProjectUnit(bsMock.Object); // Act & Assert // ReSharper disable once AssignNullToNotNullAttribute Assert.Throws <ArgumentNullException>(() => unit.Work(null, CancellationToken.None)); }
public async Task Work_ScaffoldingStateModel_BuildFailed_Async() { // Arrange var project = new SqlProject("a", "b", "c"); var configuration = ConfigurationModel.GetDefault(); var targetVersion = new Version(1, 2, 3); Task HandleWorkInProgressChanged(bool arg) => Task.CompletedTask; var model = new ScaffoldingStateModel(project, configuration, targetVersion, HandleWorkInProgressChanged); var bsMock = new Mock <IBuildService>(); bsMock.Setup(m => m.BuildProjectAsync(project)).ReturnsAsync(false); IWorkUnit <ScaffoldingStateModel> unit = new BuildProjectUnit(bsMock.Object); // Act await unit.Work(model, CancellationToken.None); // Assert Assert.AreEqual(StateModelState.TriedToBuildProject, model.CurrentState); Assert.IsFalse(model.Result); }