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>());
 }
Пример #2
0
        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;
            }
        }
Пример #3
0
 public void Group_CreateNewGroup_InvalidType() => Assert.That(async() => await ObjectUnderTest.CreateNewGroup("invalidtype"), Throws.TypeOf <InvalidParameterException>());