Пример #1
0
        public void ConfigureField(ComplexGraphType <TModel> graphType, GraphTypeCache cache, IServiceCollection services)
        {
            FieldType field;

            if (TryGetScalarGraphType(out var graphQlType))
            {
                AuthResolver.ValidateGraphqlType(graphQlType, Property);
                field = new FieldType
                {
                    Type     = graphQlType,
                    Name     = Property.Name,
                    Resolver = AuthResolver.GetResolver(services, NameFieldResolver.Instance)
                };
            }
            else
            {
                if (ResolverConfiguration == null)
                {
                    throw new UnableToResolveException(Property, typeof(TModel));
                }

                field          = ResolverConfiguration.ConfigureField(Property, cache, services);
                field.Resolver = AuthResolver.GetResolver(services, field.Resolver);
            }

            var descAttr = Property.GetCustomAttribute <DescriptionAttribute>();

            field.Description = descAttr?.Description;

            var isOutputType      = field.Type?.IsOutputType();
            var isOutputGraphType = field.ResolvedType?.IsOutputType();

            graphType.AddField(field);
        }
Пример #2
0
        public void AuthResolverGetsNoAuth()
        {
            var patient = _context.Patients.Find(1865);  // aetna insurance
            var hours   = new Domain2.Hours.Hours();

            hours.Case       = patient.ActiveCase;
            hours.Provider   = patient.ActiveCase.GetProvidersAtDate(DateTime.Now).First().Provider;
            hours.Date       = DateTime.Now;
            hours.Service    = _context.Services.Where(x => x.Code == "TM").First();
            hours.ServiceID  = hours.Service.ID;
            hours.TotalHours = 1.5M;

            var resolver = new AuthResolver(hours);

            var sut = resolver.GetAuthorizationBreakdowns();

            Assert.IsNull(sut);
        }