public RollbackTo ( IVersionInfo versionInfo, Guid environmentId ) : void | ||
versionInfo | IVersionInfo | |
environmentId | Guid | |
return | void |
public void StudioResourceRepository_RollbackTo_TwoItemsReturned_ItemsAttachedToParent() { //------------Setup for test-------------------------- var mockExplorerResourceRepository = new Mock<IClientExplorerResourceRepository>(); var v1 = new Mock<IVersionInfo>(); v1.Setup(v => v.VersionNumber).Returns("1"); var v2 = new Mock<IVersionInfo>(); v2.Setup(v => v.VersionNumber).Returns("2"); var mockVersionRepository = new Mock<IVersionRepository>(); mockVersionRepository.Setup(m => m.RollbackTo(It.IsAny<Guid>(), It.IsAny<string>())) .Returns(new RollbackResult { DisplayName = "SuperWF", VersionHistory = new List<IExplorerItem> { new ServerExplorerItem { ResourceType = ResourceType.WebService, DisplayName = "v2 2012-10-10 Save", ResourceId = Guid.NewGuid(), Permissions = Permissions.View, VersionInfo = v1.Object }, new ServerExplorerItem { ResourceType = ResourceType.WebService, DisplayName = "v1 2012-10-10 Save", ResourceId = Guid.NewGuid(), Permissions = Permissions.View, VersionInfo = v2.Object } }}) .Verifiable(); var superWFId = Guid.NewGuid(); var parent = new ServerExplorerItem { ResourceType = ResourceType.WorkflowService, DisplayName = "Super Workflow", ResourceId = superWFId, Permissions = Permissions.Contribute, ResourcePath = "MANFOLDER\\APRIL WORK\\SUB FOLDER" }; SetupEnvironmentRepo(Guid.Empty); var repo = new StudioResourceRepository(parent, Guid.Empty, _invoke) { GetVersionProxy = id => mockVersionRepository.Object, GetExplorerProxy = id => mockExplorerResourceRepository.Object, GetCurrentEnvironment = () => Guid.Empty }; var versionInfo = new VersionInfo { DateTimeStamp = DateTime.Now, Reason = "Rollback", ResourceId = superWFId, User = "", VersionId = Guid.NewGuid(), VersionNumber = "3" }; //------------Execute Test--------------------------- repo.RollbackTo(versionInfo, Guid.Empty); //------------Assert Results------------------------- var actual = repo.FindItemById(superWFId); Assert.AreEqual(2, actual.Children.Count); mockVersionRepository.Verify(m => m.RollbackTo(It.IsAny<Guid>(), It.IsAny<string>()), Times.Once()); }
public void StudioResourceRepository_RollbackTo_VersionIsNull_ThrowsException() { //------------Setup for test-------------------------- var mockExplorerResourceRepository = new Mock<IClientExplorerResourceRepository>(); var mockVersionRepository = new Mock<IVersionRepository>(); var parent = new ServerExplorerItem { ResourceType = ResourceType.WorkflowService, DisplayName = "SuperWF", ResourceId = Guid.NewGuid(), Permissions = Permissions.Contribute, ResourcePath = "MANFOLDER\\APRIL WORK\\SUB FOLDER" }; var repo = new StudioResourceRepository(parent, Guid.Empty, _invoke) { GetVersionProxy = id => mockVersionRepository.Object, GetExplorerProxy = id => mockExplorerResourceRepository.Object, GetCurrentEnvironment = () => Guid.Empty }; //------------Execute Test--------------------------- repo.RollbackTo(null, Guid.Empty); }