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); }
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_FindValidGroup() { GetMock <ICachedLookupService>().Setup(x => x.GetNameAsync(It.IsAny <Expression <Func <int?> > >(), It.IsAny <string>())).ReturnsAsync("placeholder"); GetMock <IGroupReadService>().Setup(x => x.SearchByIdsAsync(It.IsAny <string>(), It.Is <int?>(i => i == 1000), It.IsAny <string>(), It.IsAny <int?>(), It.IsAny <IPrincipal>())).ReturnsAsync(() => new ApiPagedResult <SearchGroupDocument>(1, new List <SearchGroupDocument>() { new SearchGroupDocument { Name = "Group 1000", GroupUId = 1000, GroupTypeId = (int)eLookupGroupType.SingleacademyTrust } })); var vm = new ConvertSATViewModel { ActionName = "find", Text = "1000" }; var response = (ViewResult)await ObjectUnderTest.Convert(vm); vm.Details.Name.ShouldBe("Group 1000"); vm.Details.GroupUId.ShouldBe(1000); vm.Details.GroupTypeId.ShouldBe((int)eLookupGroupType.SingleacademyTrust); vm.CountryName.ShouldBe("placeholder"); vm.CountyName.ShouldBe("placeholder"); vm.Token.ShouldNotBe(null); response.ViewName.ShouldBe(""); }
public void Group_Convert() { var response = (ViewResult)ObjectUnderTest.Convert(); var vm = (ConvertSATViewModel)response.Model; Assert.That(response.ViewName, Is.EqualTo(string.Empty)); Assert.That(response.Model, Is.TypeOf <ConvertSATViewModel>()); }
public async Task Group_Convert_FindNonExistentSAT() { var grs = GetMock <IGroupReadService>(); grs.Setup(x => x.SearchByIdsAsync(It.IsAny <string>(), It.Is <int?>(i => i == 1000), It.IsAny <string>(), It.IsAny <int?>(), It.IsAny <IPrincipal>())).ReturnsAsync(() => new ApiPagedResult <SearchGroupDocument>(0, new List <SearchGroupDocument>())); var response = (ViewResult)await ObjectUnderTest.Convert(new ConvertSATViewModel { ActionName = "find", Text = "1000" }); Assert.That(ObjectUnderTest.ModelState["Text"].Errors[0].ErrorMessage, Is.EqualTo("We were unable to find a single-academy trust matching those details")); Assert.That(response.ViewName, Is.EqualTo(string.Empty)); }
public async Task Group_Convert_FindInvalidGroupType() { var grs = GetMock <IGroupReadService>(); grs.Setup(x => x.SearchByIdsAsync(It.IsAny <string>(), It.Is <int?>(i => i == 1000), It.IsAny <string>(), It.IsAny <int?>(), It.IsAny <IPrincipal>())).ReturnsAsync(() => new ApiPagedResult <SearchGroupDocument>(1, new List <SearchGroupDocument>() { new SearchGroupDocument { Name = "Group 1000", GroupUId = 1000, GroupTypeId = (int)eLookupGroupType.MultiacademyTrust } })); var response = (ViewResult)await ObjectUnderTest.Convert(new ConvertSATViewModel { ActionName = "find", Text = "1000" }); Assert.That(ObjectUnderTest.ModelState["Text"].Errors[0].ErrorMessage, Is.EqualTo("That's an invalid group because it's of the wrong type.")); Assert.That(response.ViewName, Is.EqualTo(string.Empty)); }