public void Group_CreateNewGroup_PermissionDenied() { InjectBasicLAsAndGroupTypes(); GetMock <ISecurityService>().Setup(x => x.GetCreateGroupPermissionAsync(It.IsAny <IPrincipal>())).ReturnsAsync(new CreateGroupPermissionDto { GroupTypes = new eLookupGroupType[0] }); Assert.That(async() => await ObjectUnderTest.CreateNewGroup("Federation"), Throws.TypeOf <PermissionDeniedException>()); }
public async Task Group_CreateNewGroup(string type, int?localAuthorityId) { GetMock <ISecurityService>().Setup(x => x.GetCreateGroupPermissionAsync(It.IsAny <IPrincipal>())) .ReturnsAsync(new CreateGroupPermissionDto { GroupTypes = new eLookupGroupType[] { eLookupGroupType.ChildrensCentresCollaboration, eLookupGroupType.Federation, eLookupGroupType.Trust, eLookupGroupType.SchoolSponsor }, CCLocalAuthorityId = localAuthorityId }); InjectBasicLAsAndGroupTypes(); GetMock <IPrincipal>().Setup(x => x.IsInRole(It.IsAny <string>())).Returns(false); var result = (ViewResult)await ObjectUnderTest.CreateNewGroup(type); var model = (GroupEditorViewModel)result.Model; if (type == "ChildrensCentre") { Assert.That(model.GroupTypeId, Is.EqualTo((int)eLookupGroupType.ChildrensCentresCollaboration)); Assert.That(model.SaveMode, Is.EqualTo(eSaveMode.DetailsAndLinks)); Assert.That(result.ViewName, Is.EqualTo("CreateChildrensCentre")); if (localAuthorityId.HasValue) { Assert.IsFalse(model.IsLocalAuthorityEditable); Assert.That(model.LocalAuthorityId, Is.EqualTo(localAuthorityId)); Assert.That(model.LocalAuthorityName, Is.EqualTo("placeholder")); } else { Assert.IsTrue(model.IsLocalAuthorityEditable); } } else { Assert.That(model.SaveMode, Is.EqualTo(eSaveMode.Details)); Assert.IsFalse(model.IsLocalAuthorityEditable); Assert.That(result.ViewName, Is.EqualTo("Create")); } switch (type) { case "Federation": Assert.That(model.GroupTypeId, Is.EqualTo((int)eLookupGroupType.Federation)); break; case "Trust": Assert.That(model.GroupTypeId, Is.EqualTo((int)eLookupGroupType.Trust)); break; case "Sponsor": Assert.That(model.GroupTypeId, Is.EqualTo((int)eLookupGroupType.SchoolSponsor)); break; } }
public void Group_CreateNewGroup_InvalidType() => Assert.That(async() => await ObjectUnderTest.CreateNewGroup("invalidtype"), Throws.TypeOf <InvalidParameterException>());