public async Task Work_ScaffoldingStateModel_FormattedSuccessful_Async(bool latest) { // Arrange var dacVersion = new Version(1, 2, 3); var project = new SqlProject("a", "b", "c"); project.ProjectProperties.DacVersion = dacVersion; var configuration = ConfigurationModel.GetDefault(); var previousVersion = new Version(1, 0); var expectedFormattedTargetVersion = new Version(1, 2, 3, 0); Task HandleWorkInProgressChanged(bool arg) => Task.CompletedTask; var model = new ScriptCreationStateModel(project, configuration, previousVersion, latest, HandleWorkInProgressChanged); var vsMock = new Mock <IVersionService>(); vsMock.Setup(m => m.FormatVersion(dacVersion, configuration)).Returns(expectedFormattedTargetVersion.ToString()); IWorkUnit <ScriptCreationStateModel> unit = new FormatTargetVersionUnit(vsMock.Object); // Act await unit.Work(model, CancellationToken.None); // Assert Assert.AreEqual(StateModelState.FormattedTargetVersionLoaded, model.CurrentState); Assert.IsNull(model.Result); if (latest) { Assert.IsNull(model.FormattedTargetVersion); } else { Assert.AreEqual(expectedFormattedTargetVersion, model.FormattedTargetVersion); } }
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 Work_ScriptCreationStateModel_ArgumentNullException_StateModel() { // Arrange var vsMock = new Mock <IVersionService>(); IWorkUnit <ScriptCreationStateModel> unit = new FormatTargetVersionUnit(vsMock.Object); // Act & Assert // ReSharper disable once AssignNullToNotNullAttribute Assert.Throws <ArgumentNullException>(() => unit.Work(null, CancellationToken.None)); }