public async Task UpdateFolderAsync_InvalidFolderNamePostRequest_Handle() { var model = new FolderWriteViewModel() { Slug = GroupSlugValid, FolderId = FolderIdValid, FolderName = null, ParentGroup = GroupIdInvalid, ParentFolder = null, Description = null }; SetUserInContext.SetContext("admin"); SetRouting <FolderController> .SetupController(_folderController, "GroupUrls", "routeUrl", "routeController", "routeAction"); _folderServiceMocks.Setup(x => x.UserHasFolderWriteAccessAsync(It.IsAny <Guid>(), It.IsAny <Guid>(), It.IsAny <CancellationToken>())).Returns(Task.FromResult(true)); _folderServiceMocks.Setup(x => x.GetFolderAsync(It.IsAny <string>(), It.IsAny <Guid>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(new FolderViewModel() { Folder = new FolderReadViewModel() { FolderId = FolderIdValid } })); _folderServiceMocks.Setup(x => x.IsFolderNameValidAsync(It.IsAny <Guid?>(), It.IsAny <string>(), It.IsAny <Guid?>(), It.IsAny <Guid>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(false)); var result = (await _folderController.UpdateFolderAsync(model, CancellationToken.None)) as ViewResult; var returnedErrorMessage = result.ViewData.ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage; Assert.IsInstanceOf <ActionResult>(result); Assert.IsInstanceOf <FolderWriteViewModel>(result.Model); Assert.AreEqual(DuplicateFolderError, returnedErrorMessage); }
public async Task UpdateFolderAsync_InvalidModelPostRequest_Handle() { var model = new FolderWriteViewModel() { Slug = GroupSlugInvalid, FolderName = FolderNameValid, Description = FolderDescription, ParentGroup = GroupIdValid, ParentFolder = null, }; _folderController.ModelState.AddModelError("error", "invalid state"); SetUserInContext.SetContext("admin"); SetRouting <FolderController> .SetupController(_folderController, "GroupUrls", "routeUrl", "routeController", "routeAction"); _folderServiceMocks.Setup(x => x.IsUserAdminAsync(It.IsAny <string>(), It.IsAny <Guid>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(true)); var result = (await _folderController.UpdateFolderAsync(model, CancellationToken.None)) as ViewResult; var returnedViewModelSlug = (result.Model as FolderWriteViewModel).Slug; var returnedViewModelParentGroupId = (result.Model as FolderWriteViewModel).ParentGroup; Assert.IsInstanceOf <ActionResult>(result); Assert.IsInstanceOf <FolderWriteViewModel>(result.Model); Assert.AreEqual(GroupSlugInvalid, returnedViewModelSlug); Assert.AreEqual(GroupIdValid, returnedViewModelParentGroupId); }
public async Task UpdateFolderAsync_InvalidUserGetRequest_Handle() { SetUserInContext.SetContext("user"); SetRouting <FolderController> .SetupController(_folderController, "GroupUrls", "routeUrl", "routeController", "routeAction"); _folderServiceMocks.Setup(x => x.UserHasFolderWriteAccessAsync(It.IsAny <Guid>(), It.IsAny <Guid>(), It.IsAny <CancellationToken>())).Returns(Task.FromResult(false)); _folderServiceMocks.Setup(x => x.GetFolderAsync(It.IsAny <string>(), It.IsAny <Guid>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(new FolderViewModel() { Folder = new FolderReadViewModel(), Slug = GroupSlugValid })); var result = await _folderController.UpdateFolderAsync(GroupSlugValid, GroupIdValid, FolderIdValid, null, CancellationToken.None); var redirectedRouteName = (result as RedirectToRouteResult).RouteName; var redirectedFolderId = (result as RedirectToRouteResult).RouteValues["folder"]; Assert.IsInstanceOf <RedirectToRouteResult>(result); Assert.AreEqual("GroupUrls", redirectedRouteName); Assert.AreNotEqual(Guid.Empty, redirectedFolderId); }
public async Task UpdateFolderAsync_ValidGetRequest_Handle() { SetUserInContext.SetContext("admin"); SetRouting <FolderController> .SetupController(_folderController, "GroupUrls", "routeUrl", "routeController", "routeAction"); _folderServiceMocks.Setup(x => x.UserHasFolderWriteAccessAsync(It.IsAny <Guid>(), It.IsAny <Guid>(), It.IsAny <CancellationToken>())).Returns(Task.FromResult(true)); _folderServiceMocks.Setup(x => x.GetFolderAsync(It.IsAny <string>(), It.IsAny <Guid>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(new FolderViewModel() { Folder = new FolderReadViewModel(), Slug = GroupSlugValid })); var result = (await _folderController.UpdateFolderAsync(GroupSlugValid, GroupIdValid, FolderIdValid, null, CancellationToken.None)) as ViewResult; var returnedViewModelSlug = (result.Model as FolderWriteViewModel).Slug; var returnedViewModelParentGroupId = (result.Model as FolderWriteViewModel).ParentGroup; Assert.IsInstanceOf <ActionResult>(result); Assert.IsInstanceOf <FolderWriteViewModel>(result.Model); Assert.AreEqual(GroupSlugValid, returnedViewModelSlug); Assert.AreEqual(GroupIdValid, returnedViewModelParentGroupId); }
public async Task UpdateFolderAsync_ValidPostRequest_Handle() { var model = new FolderWriteViewModel() { Slug = GroupSlugValid, FolderId = FolderIdValid, FolderName = FolderNameValid, Description = FolderDescription, ParentGroup = GroupIdValid, ParentFolder = null, }; SetUserInContext.SetContext("admin"); SetRouting <FolderController> .SetupController(_folderController, "GroupUrls", "routeUrl", "routeController", "routeAction"); _folderServiceMocks.Setup(x => x.IsUserAdminAsync(It.IsAny <string>(), It.IsAny <Guid>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(true)); _folderServiceMocks.Setup(x => x.GetFolderAsync(It.IsAny <string>(), It.IsAny <Guid>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(new FolderViewModel() { Folder = new FolderReadViewModel() { FolderId = FolderIdValid } })); _folderServiceMocks.Setup(x => x.IsFolderNameValidAsync(It.IsAny <Guid?>(), It.IsAny <string>(), It.IsAny <Guid?>(), It.IsAny <Guid>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(true)); var result = await _folderController.UpdateFolderAsync(model, CancellationToken.None); var redirectedRouteName = (result as RedirectToRouteResult).RouteName; var redirectedFolderId = (result as RedirectToRouteResult).RouteValues["folder"]; Assert.IsInstanceOf <RedirectToRouteResult>(result); Assert.AreEqual("GroupUrls", redirectedRouteName); Assert.AreNotEqual(Guid.Empty, redirectedFolderId); }