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 Work_ScriptCreationStateModel_ArgumentNullException_StateModel() { // Arrange var spsMock = new Mock <ISqlProjectService>(); IWorkUnit <ScriptCreationStateModel> unit = new LoadSqlProjectPropertiesUnit(spsMock.Object); // Act & Assert // ReSharper disable once AssignNullToNotNullAttribute Assert.Throws <ArgumentNullException>(() => unit.Work(null, CancellationToken.None)); }
public async Task Work_ScriptCreationStateModel_LoadedSuccessful_Async() { // Arrange var project = new SqlProject("a", "b", "c"); var configuration = ConfigurationModel.GetDefault(); var previousVersion = new Version(1, 2, 3); Task HandleWorkInProgressChanged(bool arg) => Task.CompletedTask; var model = new ScriptCreationStateModel(project, configuration, previousVersion, true, HandleWorkInProgressChanged); var spsMock = new Mock <ISqlProjectService>(); spsMock.Setup(m => m.TryLoadSqlProjectPropertiesAsync(project)).ReturnsAsync(true); IWorkUnit <ScriptCreationStateModel> unit = new LoadSqlProjectPropertiesUnit(spsMock.Object); // Act await unit.Work(model, CancellationToken.None); // Assert Assert.AreEqual(StateModelState.SqlProjectPropertiesLoaded, model.CurrentState); Assert.IsNull(model.Result); }