public void ReturnsTheSingleOrganisationWithoutAParentOrganisation()
        {
            MethodToTest(() => service.GetOrganisation(A <IPrincipal> .Ignored, A <int> .Ignored));

            var organisationId = 2;
            var principal      = A.Fake <IPrincipal>();
            var user           = new Auth0User();

            A.CallTo(() => dependencies.UserService.GetAuthenticatedUser(principal)).Returns(user);
            var org  = new ShurahBasedOrganisation();
            var orgs = A.Fake <IDbSet <ShurahBasedOrganisation> >();

            A.CallTo(() => dependencies.StorageService.SetOf <ShurahBasedOrganisation>()).Returns(orgs);
            A.CallTo(() => dependencies.LinqService.Single(orgs,
                                                           A <Expression <Func <ShurahBasedOrganisation, bool> > > .That.Matches(x =>
                                                                                                                                 x.Compile().Invoke(new ShurahBasedOrganisation
            {
                Id = organisationId
            }) &&
                                                                                                                                 !x.Compile().Invoke(new ShurahBasedOrganisation
            {
                Id = organisationId + 1
            })
                                                                                                                                 ))).Returns(org);
            var organisationResource = new OrganisationResource();

            A.CallTo(() => service.BuildOrganisationResource(org, user)).Returns(organisationResource);

            var result = service.GetOrganisation(principal, organisationId);

            Assert.AreSame(organisationResource, result);
        }
        public IActionResult FindOrganisation(string orgName)
        {
            Organisation organisation = context.Organisations.Include(o => o.Members)
                                        .ThenInclude(om => om.Member)
                                        .SingleOrDefault(o => o.Name == orgName);

            OrganisationResource returnOrg = mapper.Map <Organisation, OrganisationResource>(organisation);

            return(Ok(returnOrg));
        }
        public IActionResult GetOrganisation(int orgId)
        {
            Organisation organisation = context.Organisations.Include(o => o.Members)
                                        .ThenInclude(om => om.Member)
                                        .SingleOrDefault(o => o.Id == orgId);

            OrganisationResource returnOrg = mapper.Map <Organisation, OrganisationResource>(organisation);

            return(Ok(returnOrg));
        }
        public virtual OrganisationResource BuildOrganisationResource(ShurahBasedOrganisation organisation, Auth0User user)
        {
            var resource = new OrganisationResource();

            resource.Name                  = organisation.Name;
            resource.Id                    = organisation.Id;
            resource.JoiningPolicy         = organisation.JoiningPolicy.ToString();
            resource.Description           = organisation.Description;
            resource.Member                = GetMember(user, organisation.Members);
            resource.HasPendingApplication = HasAPendingApplication(resource.Member, user, organisation);
            resource.RuleSections          = BuildMembershipRuleSectionResources(string.Empty
                                                                                 , _dependencies.LinqService.Where(organisation.MembershipRuleSections, r => r.ParentMembershipRuleSection == null)
                                                                                 , SortTerms(organisation.Terms), user);
            resource.Permissions  = GetMemberPermissions(user, organisation);
            resource.LeaderMember = GetLeaderMember(organisation);
            resource.PendingMembershipApplicationsCount = GetPendingMembershipApplicationsCount(organisation, user);
            return(resource);
        }
Ejemplo n.º 5
0
 public Task Remove(OrganisationResource resource)
 => ApiClientWrapper.Remove($"{RootUri}/{resource.Slug}");
Ejemplo n.º 6
0
 public Task <OrganisationResource> Update(OrganisationResource resource, string currentSlug = null)
 => ApiClientWrapper.Update <OrganisationResource>($"{RootUri}/{currentSlug ?? resource.Slug}", resource);
Ejemplo n.º 7
0
 public Task <IReadOnlyList <PersonalAccessTokenResource> > ListFor(OrganisationResource organisation)
 => ApiClientWrapper.List <PersonalAccessTokenResource>($"{RootUri}?organisation={organisation.Slug}");