예제 #1
0
        public static string DeeplinkGenerator(UrlServiceModel url)
        {
            switch (url.PageType)
            {
            case PageType.Other:
                return(Constants.DEEPLINK_HOME_TEMPLATE);

            case PageType.Search:
                return(string.Format(Constants.DEEPLINK_SEARCH_TEMPLATE, url.SearchQuery));

            case PageType.Product:
                var deepLink = string.Format(Constants.DEEPLINK_PRODUCT_TEMPLATE, url.ContentId);
                if (url.BoutiqueId > 0)
                {
                    deepLink = $"{deepLink}{string.Format(Constants.DEEPLINK_CAMPAIGN_TEMPLATE, url.BoutiqueId)}";
                }
                if (url.MerchantId > 0)
                {
                    deepLink = $"{deepLink}{string.Format(Constants.DEEPLINK_MERCHANT_TEMPLATE, url.MerchantId)}";
                }
                return(deepLink);

            default:
                throw new ArgumentException($"Unknown Page Type: {url.PageType}");
            }
        }
예제 #2
0
        public void DeeplinkGenerator_ShouldReturn_Deeplink(UrlServiceModel urlModel, string deeplink)
        {
            var resp = Util.DeeplinkGenerator(urlModel);

            Assert.Equal(resp, deeplink);
        }