public void StudioResourceRepository_DeleteFolder_DeleteServiceThrowsAndException_ReThrowsAnException() { //------------Setup for test-------------------------- var mockExplorerResourceRepository = new Mock<IClientExplorerResourceRepository>(); mockExplorerResourceRepository.Setup(m => m.DeleteItem(It.IsAny<IExplorerItem>(), It.IsAny<Guid>())) .Throws(new Exception("Something really bad happened, reboot your PC or risk a Harddrive crash")); var environmentId = Guid.NewGuid(); var workflowId = Guid.NewGuid(); SetupEnvironmentRepo(environmentId); var mockVersionRepository = new Mock<IVersionRepository>(); var repository = new StudioResourceRepository(GetTestData(workflowId.ToString()), environmentId, _invoke) { GetVersionProxy = id => mockVersionRepository.Object, GetExplorerProxy = id => mockExplorerResourceRepository.Object }; //------------Execute Test--------------------------- var explorerItemModel = repository.ExplorerItemModels[0].Children[0]; repository.DeleteFolder(explorerItemModel); }
public void StudioResourceRepository_DeleteFolder_DeleteServiceReturnsAnError_ThrowsAnException() { //------------Setup for test-------------------------- var mockExplorerResourceRepository = new Mock<IClientExplorerResourceRepository>(); mockExplorerResourceRepository.Setup(m => m.DeleteItem(It.IsAny<IExplorerItem>(), It.IsAny<Guid>())) .Returns(new ExplorerRepositoryResult(ExecStatus.Fail, "Just Failed")); var environmentId = Guid.NewGuid(); var workflowId = Guid.NewGuid(); var folderID = Guid.NewGuid(); SetupEnvironmentRepo(environmentId); var mockVersionRepository = new Mock<IVersionRepository>(); var repository = new StudioResourceRepository(GetTestData(workflowId.ToString(), folderID: folderID), environmentId, _invoke) { GetVersionProxy = id => mockVersionRepository.Object, GetExplorerProxy = id => mockExplorerResourceRepository.Object }; //------------Execute Test--------------------------- var explorerItemModel = repository.ExplorerItemModels[0].Children[0]; repository.DeleteFolder(explorerItemModel); }
public void StudioResourceRepository_DeleteFolder_ItemIsNotOnExplorerItemModels_DoesNotCallsDeleteOnService() { //------------Setup for test-------------------------- var mockExplorerResourceRepository = new Mock<IClientExplorerResourceRepository>(); mockExplorerResourceRepository.Setup(m => m.DeleteItem(It.IsAny<IExplorerItem>(), It.IsAny<Guid>())).Verifiable(); var environmentId = Guid.NewGuid(); var workflowId = Guid.NewGuid(); SetupEnvironmentRepo(environmentId); var mockVersionRepository = new Mock<IVersionRepository>(); var repository = new StudioResourceRepository(GetTestData(workflowId.ToString()), environmentId, _invoke) { GetVersionProxy = id => mockVersionRepository.Object, GetExplorerProxy = id => mockExplorerResourceRepository.Object }; //------------Execute Test--------------------------- repository.DeleteFolder(new ExplorerItemModel()); //------------Assert Results------------------------- mockExplorerResourceRepository.Verify(m => m.DeleteItem(It.IsAny<IExplorerItem>(), It.IsAny<Guid>()), Times.Never()); }
public void StudioResourceRepository_DeleteFolder_ItemIsOnExplorerItemModels_CallsDeleteOnService() { //------------Setup for test-------------------------- var mockExplorerResourceRepository = new Mock<IClientExplorerResourceRepository>(); mockExplorerResourceRepository.Setup(m => m.DeleteItem(It.IsAny<IExplorerItem>(), It.IsAny<Guid>())) .Returns(new ExplorerRepositoryResult(ExecStatus.Success, "Success")) .Verifiable(); var environmentId = Guid.NewGuid(); var workflowId = Guid.NewGuid(); SetupEnvironmentRepo(environmentId); var mockVersionRepository = new Mock<IVersionRepository>(); var repository = new StudioResourceRepository(GetTestData(workflowId.ToString()), environmentId, _invoke) { GetVersionProxy = id => mockVersionRepository.Object, GetExplorerProxy = id => mockExplorerResourceRepository.Object }; //------------Execute Test--------------------------- var explorerItemModel = repository.ExplorerItemModels[0].Children[0]; repository.DeleteFolder(explorerItemModel); //------------Assert Results------------------------- mockExplorerResourceRepository.Verify(m => m.DeleteItem(It.IsAny<IExplorerItem>(), It.IsAny<Guid>()), Times.Once()); }
public void StudioResourceRepository_DeleteFolder_CallsDeleteOnService() { //------------Setup for test-------------------------- var _propertyChangedCalled = false; var mockExplorerResourceRepository = new Mock<IClientExplorerResourceRepository>(); mockExplorerResourceRepository.Setup(m => m.DeleteItem(It.IsAny<IExplorerItem>(), It.IsAny<Guid>())) .Returns(new ExplorerRepositoryResult(ExecStatus.Success, "Success")) .Verifiable(); var environmentId = Guid.NewGuid(); var workflowId = Guid.NewGuid(); var folderID = Guid.NewGuid(); SetupEnvironmentRepo(environmentId); var mockVersionRepository = new Mock<IVersionRepository>(); var repository = new StudioResourceRepository(GetTestData(workflowId.ToString(), folderID: folderID), environmentId, _invoke) { GetVersionProxy = id => mockVersionRepository.Object, GetExplorerProxy = id => mockExplorerResourceRepository.Object }; //------------Execute Test--------------------------- var folderItem = repository.FindItemById(folderID); ExplorerItemModel explorerItemModel = folderItem.Parent as ExplorerItemModel; // ReSharper disable PossibleNullReferenceException explorerItemModel.PropertyChanged += (sender, args) => // ReSharper restore PossibleNullReferenceException { if(args.PropertyName == "ChildrenCount") { _propertyChangedCalled = true; } }; repository.DeleteFolder(folderItem); //------------Assert Results------------------------- mockExplorerResourceRepository.Verify(m => m.DeleteItem(It.IsAny<IExplorerItem>(), It.IsAny<Guid>()), Times.Once()); Assert.IsTrue(_propertyChangedCalled); }