Exemplo n.º 1
0
        private string GetQueryApiUrl(AppNode queryNode)
        {
            var domain     = queryNode.GetDomainName();
            var pluralizer = new Pluralizer();
            var route      = GetQueryRoutePlaceholder(queryNode, pluralizer.Pluralize(domain), pluralizer.Singularize(domain));
            var suffix     = queryNode.IsListQuery ? "" : "1";
            var url        = $"{_config.ApiUrlPrefix}/{domain.ToLower()}/{route}/{suffix}"
                             .TrimEnd('/')
                             .Replace("//", "/");

            return(url);
        }
Exemplo n.º 2
0
        private ResourceTemplate GetQueryIntegrationTemplate(IDictionary <ResourceTemplateType, ResourceTemplate> templates, AppNode queryNode)
        {
            var template = templates[ResourceTemplateType.IntegrationTestQuery];

            template.ResetParameters();

            var urlPlaceholder       = GetQueryApiUrl(queryNode);
            var appNsPlaceholder     = $"{_config.Namespace}.{_config.AppSuffix}";
            var webNsPlaceholder     = $"{_config.Namespace}.{_config.UiSuffix}";
            var queryNsPlaceholder   = $"{appNsPlaceholder}.{queryNode.GetFullPath(".")}";
            var queriesNsPlaceholder = $"{appNsPlaceholder}.{queryNode.Parent.GetFullPath(".")}";
            var namespacePlaceholder = $"{webNsPlaceholder}.IntegrationTests.Controllers.{queryNode.GetDomainName()}";
            var vmPlaceholder        = $"{GetQueryBaseName(queryNode, trimGet: true)}Vm";

            template.SetParameter(TemplateParameterType.QueryNsPlaceholder, queryNsPlaceholder);
            template.SetParameter(TemplateParameterType.QueriesNsPlaceholder, queriesNsPlaceholder);
            template.SetParameter(TemplateParameterType.WebNsPlaceholder, webNsPlaceholder);
            template.SetParameter(TemplateParameterType.NamespacePlaceholder, namespacePlaceholder);

            template.SetParameter(TemplateParameterType.QueryPlaceholder, queryNode.Name);// special case here without "Query" suffix
            template.SetParameter(TemplateParameterType.FixturePlaceholder, $"{queryNode.Name}QueryTests");
            template.SetParameter(TemplateParameterType.VmPlaceholder, vmPlaceholder);
            template.SetParameter(TemplateParameterType.UrlPlaceholder, urlPlaceholder);

            return(template);
        }