public async Task Group_Convert_Confirm_Success() { var domainModel = new SearchGroupDocument { Name = "Group 1000", GroupUId = 1000, GroupTypeId = (int)eLookupGroupType.SingleacademyTrust }; GetMock <IGroupsWriteService>().Setup(x => x.ConvertSAT2MAT(It.Is <int>(i => i == 1000), It.Is <bool>(b => b == true), It.IsAny <IPrincipal>())).ReturnsAsync(new ApiResponse <NumericResultDto>(true) { Response = new NumericResultDto { Value = 200 } }); var vm = new ConvertSATViewModel { Token = UriHelper.SerializeToUrlToken(domainModel), ActionName = "confirm", CopyGovernanceInfo = true }; var response = (RedirectToRouteResult)await ObjectUnderTest.Convert(vm); response.RouteName.ShouldBe("GroupDetails"); response.RouteValues["id"].ShouldBe(200); GetMock <IGroupsWriteService>().Verify(x => x.ConvertSAT2MAT(It.Is <int>(i => i == 1000), It.Is <bool>(b => b == true), It.IsAny <IPrincipal>()), Times.Once); }
public async Task Group_Convert_Confirm_WithValidationError() { var domainModel = new SearchGroupDocument { Name = "Group 1000", GroupUId = 1000, GroupTypeId = (int)eLookupGroupType.SingleacademyTrust }; GetMock <IGroupsWriteService>().Setup(x => x.ConvertSAT2MAT(It.Is <int>(i => i == 1000), It.Is <bool>(b => b == true), It.IsAny <IPrincipal>())).ReturnsAsync(new ApiResponse <NumericResultDto>(false) { Errors = new [] { new ApiError { Code = "test", Message = "msg" } } }); var vm = new ConvertSATViewModel { Token = UriHelper.SerializeToUrlToken(domainModel), ActionName = "confirm", CopyGovernanceInfo = true }; var response = (ViewResult)await ObjectUnderTest.Convert(vm); response.ViewName.ShouldBe(""); Assert.That(ObjectUnderTest.ModelState[""].Errors[0].ErrorMessage, Is.EqualTo("msg")); GetMock <IGroupsWriteService>().Verify(x => x.ConvertSAT2MAT(It.Is <int>(i => i == 1000), It.Is <bool>(b => b == true), It.IsAny <IPrincipal>()), Times.Once); }
private IReadOnlyCollection <SitemapNode> GetGroupTabs(SearchGroupDocument item, double?priority) { var urlHelper = this.Url; var nodes = new List <SitemapNode>(); nodes.Add(BuildNode("Details", "Group", new { area = "Groups", id = item.GroupUId }, "details", priority, SitemapFrequency.Weekly)); nodes.Add(BuildNode("Details", "Group", new { area = "Groups", id = item.GroupUId }, "list", priority, SitemapFrequency.Weekly)); // not all groups have access to governance tab if (item.GroupTypeId == (int)eLookupGroupType.MultiacademyTrust) { nodes.Add(BuildNode("Details", "Group", new { area = "Groups", id = item.GroupUId }, "governance", priority, SitemapFrequency.Weekly)); } return(nodes); }