ghost 6.0.6 → 6.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/components/tryghost-i18n-6.0.7.tgz +0 -0
  2. package/core/built/admin/assets/admin-x-activitypub/admin-x-activitypub.js +1 -1
  3. package/core/built/admin/assets/admin-x-activitypub/{index-BRzGrD-C.mjs → index-B-ckGCDl.mjs} +19762 -16495
  4. package/core/built/admin/assets/admin-x-activitypub/{index-Co80faUx.mjs → index-C81KQoIh.mjs} +2 -2
  5. package/core/built/admin/assets/admin-x-settings/{CodeEditorView-B4W7CQcA.mjs → CodeEditorView-BfL5FINN.mjs} +2 -2
  6. package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +1 -1
  7. package/core/built/admin/assets/admin-x-settings/{index-jv9DN3ZO.mjs → index-C_ZS-INP.mjs} +2 -2
  8. package/core/built/admin/assets/admin-x-settings/{index-CuwMM9FM.mjs → index-DiNZ3HQD.mjs} +12 -4
  9. package/core/built/admin/assets/admin-x-settings/{modals-CUGEPPYA.mjs → modals-BEiWgHsk.mjs} +8807 -8799
  10. package/core/built/admin/assets/{chunk.524.56bb70d3e8660d34aef1.js → chunk.524.9f989b3664418d6271a7.js} +6 -6
  11. package/core/built/admin/assets/{chunk.582.ae0341229e71a85d0b2d.js → chunk.582.2421014e45b977b43b68.js} +10 -10
  12. package/core/built/admin/assets/{ghost-2bcbd118a8ad45fed5401e84a7e87c9a.js → ghost-182ed60de3f37fff8a40cdd65d3bd2ef.js} +25 -23
  13. package/core/built/admin/assets/{ghost-2c537ee89c36199137eafc1768fd7de8.css → ghost-a7a53bf80dc45c37ae9c174a0d02a882.css} +1 -1
  14. package/core/built/admin/assets/{ghost-dark-ad23efc1d702e3643a8ee90d089df5d6.css → ghost-dark-6e0062029f988d8676e87f22d8e7f4a3.css} +1 -1
  15. package/core/built/admin/assets/posts/posts.js +78865 -77973
  16. package/core/built/admin/assets/stats/stats.js +15467 -15442
  17. package/core/built/admin/index.html +4 -4
  18. package/core/server/data/tinybird/endpoints/api_top_utm_campaigns.pipe +31 -0
  19. package/core/server/data/tinybird/endpoints/api_top_utm_contents.pipe +31 -0
  20. package/core/server/data/tinybird/endpoints/api_top_utm_mediums.pipe +31 -0
  21. package/core/server/data/tinybird/endpoints/api_top_utm_sources.pipe +31 -0
  22. package/core/server/data/tinybird/endpoints/api_top_utm_terms.pipe +31 -0
  23. package/core/server/data/tinybird/tests/api_top_utm_campaigns.yaml +108 -0
  24. package/core/server/data/tinybird/tests/api_top_utm_contents.yaml +108 -0
  25. package/core/server/data/tinybird/tests/api_top_utm_mediums.yaml +108 -0
  26. package/core/server/data/tinybird/tests/api_top_utm_sources.yaml +108 -0
  27. package/core/server/data/tinybird/tests/api_top_utm_terms.yaml +108 -0
  28. package/core/server/services/lib/magic-link/MagicLink.js +17 -11
  29. package/core/server/services/members/MembersConfigProvider.js +11 -1
  30. package/core/server/services/members/SingleUseTokenProvider.js +159 -6
  31. package/core/server/services/members/api.js +1 -1
  32. package/core/server/services/members/emails/signin.js +8 -5
  33. package/core/server/services/members/members-api/controllers/RouterController.js +95 -19
  34. package/core/server/services/members/members-api/members-api.js +8 -4
  35. package/core/server/services/members/members-ssr.js +5 -3
  36. package/core/server/services/members/middleware.js +2 -2
  37. package/core/server/web/members/app.js +12 -3
  38. package/core/shared/config/defaults.json +1 -1
  39. package/core/shared/labs.js +3 -1
  40. package/package.json +6 -6
  41. package/tsconfig.tsbuildinfo +1 -1
  42. package/yarn.lock +57 -63
  43. package/components/tryghost-i18n-6.0.6.tgz +0 -0
@@ -6,7 +6,7 @@
6
6
  <title>Ghost</title>
7
7
 
8
8
 
9
- <meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22cdnUrl%22%3A%22%22%2C%22editorUrl%22%3A%22%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%226.0%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22%40sentry%2Fember%22%3A%7B%22disablePerformance%22%3Atrue%2C%22sentry%22%3A%7B%7D%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%2C%22useDefaultPassthroughs%22%3Atrue%7D%2C%22exportApplicationGlobal%22%3Afalse%2C%22ember-load%22%3A%7B%22loadingIndicatorClass%22%3A%22ember-load-indicator%22%7D%2C%22editorFilename%22%3A%22koenig-lexical.umd.js%22%2C%22editorHash%22%3A%2237bd1e3e4d%22%2C%22adminXSettingsFilename%22%3A%22admin-x-settings.js%22%2C%22adminXSettingsHash%22%3A%2269d97c1a9c%22%2C%22adminXActivitypubFilename%22%3A%22admin-x-activitypub.js%22%2C%22adminXActivitypubHash%22%3A%222845591bec%22%2C%22postsFilename%22%3A%22posts.js%22%2C%22postsHash%22%3A%22d90bc80047%22%2C%22statsFilename%22%3A%22stats.js%22%2C%22statsHash%22%3A%220d19030cfd%22%2C%22adminXActivitypubCustomUrl%22%3A%22https%3A%2F%2Fcdn.jsdelivr.net%2Fghost%2Fadmin-x-activitypub%400%2Fdist%2Fadmin-x-activitypub.js%22%2C%22adminXActivitypubRemoteConfigUrl%22%3A%22%2F.ghost%2Factivitypub%2Fstable%2Fclient-config%22%7D" />
9
+ <meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22cdnUrl%22%3A%22%22%2C%22editorUrl%22%3A%22%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%226.0%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22%40sentry%2Fember%22%3A%7B%22disablePerformance%22%3Atrue%2C%22sentry%22%3A%7B%7D%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%2C%22useDefaultPassthroughs%22%3Atrue%7D%2C%22exportApplicationGlobal%22%3Afalse%2C%22ember-load%22%3A%7B%22loadingIndicatorClass%22%3A%22ember-load-indicator%22%7D%2C%22editorFilename%22%3A%22koenig-lexical.umd.js%22%2C%22editorHash%22%3A%2237bd1e3e4d%22%2C%22adminXSettingsFilename%22%3A%22admin-x-settings.js%22%2C%22adminXSettingsHash%22%3A%22e087918b57%22%2C%22adminXActivitypubFilename%22%3A%22admin-x-activitypub.js%22%2C%22adminXActivitypubHash%22%3A%22d4c54df03d%22%2C%22postsFilename%22%3A%22posts.js%22%2C%22postsHash%22%3A%22e90e5ae225%22%2C%22statsFilename%22%3A%22stats.js%22%2C%22statsHash%22%3A%22fcfd126272%22%2C%22adminXActivitypubCustomUrl%22%3A%22https%3A%2F%2Fcdn.jsdelivr.net%2Fghost%2Fadmin-x-activitypub%400%2Fdist%2Fadmin-x-activitypub.js%22%2C%22adminXActivitypubRemoteConfigUrl%22%3A%22%2F.ghost%2Factivitypub%2Fstable%2Fclient-config%22%7D" />
10
10
 
11
11
  <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1, minimal-ui, viewport-fit=cover" />
12
12
  <meta name="pinterest" content="nopin" />
@@ -28,7 +28,7 @@
28
28
  </style>
29
29
 
30
30
  <link integrity="" rel="stylesheet" href="assets/vendor-0ede59da8efb5e28fa929557f7ff7154.css">
31
- <link integrity="" rel="stylesheet" href="assets/ghost-2c537ee89c36199137eafc1768fd7de8.css" title="light">
31
+ <link integrity="" rel="stylesheet" href="assets/ghost-a7a53bf80dc45c37ae9c174a0d02a882.css" title="light">
32
32
 
33
33
 
34
34
  </head>
@@ -49,7 +49,7 @@
49
49
 
50
50
  <script src="assets/vendor-aed0068cf9b67d042dd23a6343545b7b.js"></script>
51
51
  <script src="assets/chunk.397.1904882a4a78e2922f07.js"></script>
52
- <script src="assets/chunk.524.56bb70d3e8660d34aef1.js"></script>
53
- <script src="assets/ghost-2bcbd118a8ad45fed5401e84a7e87c9a.js"></script>
52
+ <script src="assets/chunk.524.9f989b3664418d6271a7.js"></script>
53
+ <script src="assets/ghost-182ed60de3f37fff8a40cdd65d3bd2ef.js"></script>
54
54
  </body>
55
55
  </html>
@@ -0,0 +1,31 @@
1
+ TOKEN "stats_page" READ
2
+
3
+ NODE top_utm_campaigns
4
+ SQL >
5
+ %
6
+ select
7
+ case
8
+ when length(source) % 6 = 0 then 'summer_sale_2024'
9
+ when length(source) % 6 = 1 then 'newsletter_weekly'
10
+ when length(source) % 6 = 2 then 'product_launch'
11
+ when length(source) % 6 = 3 then 'holiday_promo'
12
+ when length(source) % 6 = 4 then 'brand_awareness'
13
+ when length(source) % 6 = 5 then 'retention_q4'
14
+ end as utm_campaign,
15
+ count() as visits
16
+ from mv_session_data sd
17
+ inner join filtered_sessions fs
18
+ on fs.session_id = sd.session_id
19
+ where
20
+ site_uuid = {{ String(site_uuid, 'mock_site_uuid', description="Tenant ID", required=True) }}
21
+ {% if defined(date_from) and day_diff(date_from, date_to) == 0 %}
22
+ and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) = {{ Date(date_from) }}
23
+ {% else %}
24
+ {% if defined(date_from) %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) >= {{ Date(date_from) }} {% else %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) >= timestampAdd(today(), interval -7 day) {% end %}
25
+ {% if defined(date_to) %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) <= {{ Date(date_to) }} {% else %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) <= today() {% end %}
26
+ {% end %}
27
+ group by utm_campaign
28
+ order by visits desc
29
+ limit {{ Int32(skip, 0) }},{{ Int32(limit, 50) }}
30
+
31
+ TYPE ENDPOINT
@@ -0,0 +1,31 @@
1
+ TOKEN "stats_page" READ
2
+
3
+ NODE top_utm_content
4
+ SQL >
5
+ %
6
+ select
7
+ case
8
+ when length(source) % 6 = 0 then 'hero-banner'
9
+ when length(source) % 6 = 1 then 'sidebar-cta'
10
+ when length(source) % 6 = 2 then 'footer-link'
11
+ when length(source) % 6 = 3 then 'button-primary'
12
+ when length(source) % 6 = 4 then 'text-link'
13
+ when length(source) % 6 = 5 then 'nav-menu'
14
+ end as utm_content,
15
+ count() as visits
16
+ from mv_session_data sd
17
+ inner join filtered_sessions fs
18
+ on fs.session_id = sd.session_id
19
+ where
20
+ site_uuid = {{ String(site_uuid, 'mock_site_uuid', description="Tenant ID", required=True) }}
21
+ {% if defined(date_from) and day_diff(date_from, date_to) == 0 %}
22
+ and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) = {{ Date(date_from) }}
23
+ {% else %}
24
+ {% if defined(date_from) %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) >= {{ Date(date_from) }} {% else %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) >= timestampAdd(today(), interval -7 day) {% end %}
25
+ {% if defined(date_to) %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) <= {{ Date(date_to) }} {% else %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) <= today() {% end %}
26
+ {% end %}
27
+ group by utm_content
28
+ order by visits desc
29
+ limit {{ Int32(skip, 0) }},{{ Int32(limit, 50) }}
30
+
31
+ TYPE ENDPOINT
@@ -0,0 +1,31 @@
1
+ TOKEN "stats_page" READ
2
+
3
+ NODE top_utm_mediums
4
+ SQL >
5
+ %
6
+ select
7
+ case
8
+ when length(source) % 6 = 0 then 'email'
9
+ when length(source) % 6 = 1 then 'social'
10
+ when length(source) % 6 = 2 then 'cpc'
11
+ when length(source) % 6 = 3 then 'organic'
12
+ when length(source) % 6 = 4 then 'referral'
13
+ when length(source) % 6 = 5 then 'display'
14
+ end as utm_medium,
15
+ count() as visits
16
+ from mv_session_data sd
17
+ inner join filtered_sessions fs
18
+ on fs.session_id = sd.session_id
19
+ where
20
+ site_uuid = {{ String(site_uuid, 'mock_site_uuid', description="Tenant ID", required=True) }}
21
+ {% if defined(date_from) and day_diff(date_from, date_to) == 0 %}
22
+ and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) = {{ Date(date_from) }}
23
+ {% else %}
24
+ {% if defined(date_from) %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) >= {{ Date(date_from) }} {% else %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) >= timestampAdd(today(), interval -7 day) {% end %}
25
+ {% if defined(date_to) %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) <= {{ Date(date_to) }} {% else %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) <= today() {% end %}
26
+ {% end %}
27
+ group by utm_medium
28
+ order by visits desc
29
+ limit {{ Int32(skip, 0) }},{{ Int32(limit, 50) }}
30
+
31
+ TYPE ENDPOINT
@@ -0,0 +1,31 @@
1
+ TOKEN "stats_page" READ
2
+
3
+ NODE top_utm_sources
4
+ SQL >
5
+ %
6
+ select
7
+ case
8
+ when length(source) % 6 = 0 then 'google'
9
+ when length(source) % 6 = 1 then 'facebook'
10
+ when length(source) % 6 = 2 then 'twitter'
11
+ when length(source) % 6 = 3 then 'linkedin'
12
+ when length(source) % 6 = 4 then 'newsletter'
13
+ when length(source) % 6 = 5 then 'instagram'
14
+ end as utm_source,
15
+ count() as visits
16
+ from mv_session_data sd
17
+ inner join filtered_sessions fs
18
+ on fs.session_id = sd.session_id
19
+ where
20
+ site_uuid = {{ String(site_uuid, 'mock_site_uuid', description="Tenant ID", required=True) }}
21
+ {% if defined(date_from) and day_diff(date_from, date_to) == 0 %}
22
+ and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) = {{ Date(date_from) }}
23
+ {% else %}
24
+ {% if defined(date_from) %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) >= {{ Date(date_from) }} {% else %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) >= timestampAdd(today(), interval -7 day) {% end %}
25
+ {% if defined(date_to) %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) <= {{ Date(date_to) }} {% else %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) <= today() {% end %}
26
+ {% end %}
27
+ group by utm_source
28
+ order by visits desc
29
+ limit {{ Int32(skip, 0) }},{{ Int32(limit, 50) }}
30
+
31
+ TYPE ENDPOINT
@@ -0,0 +1,31 @@
1
+ TOKEN "stats_page" READ
2
+
3
+ NODE top_utm_terms
4
+ SQL >
5
+ %
6
+ select
7
+ case
8
+ when length(source) % 6 = 0 then 'ghost cms'
9
+ when length(source) % 6 = 1 then 'headless publishing'
10
+ when length(source) % 6 = 2 then 'content management'
11
+ when length(source) % 6 = 3 then 'newsletter platform'
12
+ when length(source) % 6 = 4 then 'blog software'
13
+ when length(source) % 6 = 5 then 'membership site'
14
+ end as utm_term,
15
+ count() as visits
16
+ from mv_session_data sd
17
+ inner join filtered_sessions fs
18
+ on fs.session_id = sd.session_id
19
+ where
20
+ site_uuid = {{ String(site_uuid, 'mock_site_uuid', description="Tenant ID", required=True) }}
21
+ {% if defined(date_from) and day_diff(date_from, date_to) == 0 %}
22
+ and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) = {{ Date(date_from) }}
23
+ {% else %}
24
+ {% if defined(date_from) %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) >= {{ Date(date_from) }} {% else %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) >= timestampAdd(today(), interval -7 day) {% end %}
25
+ {% if defined(date_to) %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) <= {{ Date(date_to) }} {% else %} and toDate(toTimezone(first_pageview, {{String(timezone, 'Etc/UTC', description="Site timezone", required=True)}})) <= today() {% end %}
26
+ {% end %}
27
+ group by utm_term
28
+ order by visits desc
29
+ limit {{ Int32(skip, 0) }},{{ Int32(limit, 50) }}
30
+
31
+ TYPE ENDPOINT
@@ -0,0 +1,108 @@
1
+
2
+ - name: Date range
3
+ description: All fixture data
4
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC
5
+ expected_result: |
6
+ {"utm_campaign":"summer_sale_2024","visits":6}
7
+ {"utm_campaign":"brand_awareness","visits":3}
8
+ {"utm_campaign":"holiday_promo","visits":3}
9
+ {"utm_campaign":"product_launch","visits":3}
10
+ {"utm_campaign":"retention_q4","visits":1}
11
+
12
+ - name: Filtered by browser - Chrome
13
+ description: Filtered by browser - Chrome
14
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&browser=chrome
15
+ expected_result: |
16
+ {"utm_campaign":"summer_sale_2024","visits":4}
17
+ {"utm_campaign":"brand_awareness","visits":1}
18
+ {"utm_campaign":"holiday_promo","visits":1}
19
+ {"utm_campaign":"product_launch","visits":1}
20
+
21
+ - name: Filtered by device - desktop
22
+ description: Filtered by device - desktop
23
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&device=desktop
24
+ expected_result: |
25
+ {"utm_campaign":"summer_sale_2024","visits":6}
26
+ {"utm_campaign":"brand_awareness","visits":3}
27
+ {"utm_campaign":"product_launch","visits":3}
28
+ {"utm_campaign":"holiday_promo","visits":2}
29
+ {"utm_campaign":"retention_q4","visits":1}
30
+
31
+ - name: Filtered by location - UK
32
+ description: Filtered by location - UK
33
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&location=GB
34
+ expected_result: |
35
+ {"utm_campaign":"summer_sale_2024","visits":3}
36
+ {"utm_campaign":"brand_awareness","visits":2}
37
+ {"utm_campaign":"holiday_promo","visits":2}
38
+ {"utm_campaign":"product_launch","visits":1}
39
+
40
+ - name: Filtered by OS - Windows
41
+ description: Filtered by OS - Windows
42
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&os=windows
43
+ expected_result: |
44
+ {"utm_campaign":"summer_sale_2024","visits":5}
45
+ {"utm_campaign":"brand_awareness","visits":3}
46
+ {"utm_campaign":"product_launch","visits":3}
47
+ {"utm_campaign":"holiday_promo","visits":2}
48
+ {"utm_campaign":"retention_q4","visits":1}
49
+
50
+ - name: Filtered by pathname - /about/
51
+ description: Filtered by pathname - /about/
52
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&pathname=%2Fabout%2F
53
+ expected_result: |
54
+ {"utm_campaign":"summer_sale_2024","visits":4}
55
+ {"utm_campaign":"product_launch","visits":2}
56
+ {"utm_campaign":"brand_awareness","visits":1}
57
+ {"utm_campaign":"holiday_promo","visits":1}
58
+
59
+ - name: Filtered by post_uuid - 06b1b0c9-fb53-4a15-a060-3db3fde7b1fc (/about/)
60
+ description: Filtered by post_uuid - 06b1b0c9-fb53-4a15-a060-3db3fde7b1fc (/about/)
61
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&post_uuid=06b1b0c9-fb53-4a15-a060-3db3fde7b1fc
62
+ expected_result: |
63
+ {"utm_campaign":"summer_sale_2024","visits":4}
64
+ {"utm_campaign":"product_launch","visits":2}
65
+ {"utm_campaign":"brand_awareness","visits":1}
66
+ {"utm_campaign":"holiday_promo","visits":1}
67
+
68
+ - name: Filtered by source - bing.com
69
+ description: Filtered by source - bing.com
70
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&source=bing.com
71
+ expected_result: |
72
+ {"utm_campaign":"product_launch","visits":2}
73
+
74
+ - name: Filtered by member status - paid
75
+ description: Filtered by member status - paid
76
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&member_status=paid
77
+ expected_result: |
78
+ {"utm_campaign":"brand_awareness","visits":2}
79
+ {"utm_campaign":"summer_sale_2024","visits":2}
80
+ {"utm_campaign":"product_launch","visits":1}
81
+
82
+ - name: Filtered by member status - undefined
83
+ description: Filtered by member status - undefined
84
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&member_status=undefined
85
+ expected_result: |
86
+ {"utm_campaign":"holiday_promo","visits":3}
87
+ {"utm_campaign":"brand_awareness","visits":1}
88
+ {"utm_campaign":"summer_sale_2024","visits":1}
89
+ {"utm_campaign":"retention_q4","visits":1}
90
+
91
+ - name: Filtered by timezone - America/Los_Angeles
92
+ description: Filtered by timezone - America/Los_Angeles
93
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=America/Los_Angeles
94
+ expected_result: |
95
+ {"utm_campaign":"summer_sale_2024","visits":5}
96
+ {"utm_campaign":"brand_awareness","visits":3}
97
+ {"utm_campaign":"holiday_promo","visits":2}
98
+ {"utm_campaign":"product_launch","visits":2}
99
+ {"utm_campaign":"retention_q4","visits":1}
100
+
101
+ - name: Test with multiple filters combined
102
+ description: Test with multiple filters combined
103
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&device=desktop&browser=firefox
104
+ expected_result: |
105
+ {"utm_campaign":"brand_awareness","visits":2}
106
+ {"utm_campaign":"retention_q4","visits":1}
107
+ {"utm_campaign":"holiday_promo","visits":1}
108
+ {"utm_campaign":"product_launch","visits":1}
@@ -0,0 +1,108 @@
1
+
2
+ - name: Date range
3
+ description: All fixture data
4
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC
5
+ expected_result: |
6
+ {"utm_content":"hero-banner","visits":6}
7
+ {"utm_content":"footer-link","visits":3}
8
+ {"utm_content":"text-link","visits":3}
9
+ {"utm_content":"button-primary","visits":3}
10
+ {"utm_content":"nav-menu","visits":1}
11
+
12
+ - name: Filtered by browser - Chrome
13
+ description: Filtered by browser - Chrome
14
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&browser=chrome
15
+ expected_result: |
16
+ {"utm_content":"hero-banner","visits":4}
17
+ {"utm_content":"footer-link","visits":1}
18
+ {"utm_content":"text-link","visits":1}
19
+ {"utm_content":"button-primary","visits":1}
20
+
21
+ - name: Filtered by device - desktop
22
+ description: Filtered by device - desktop
23
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&device=desktop
24
+ expected_result: |
25
+ {"utm_content":"hero-banner","visits":6}
26
+ {"utm_content":"footer-link","visits":3}
27
+ {"utm_content":"text-link","visits":3}
28
+ {"utm_content":"button-primary","visits":2}
29
+ {"utm_content":"nav-menu","visits":1}
30
+
31
+ - name: Filtered by location - UK
32
+ description: Filtered by location - UK
33
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&location=GB
34
+ expected_result: |
35
+ {"utm_content":"hero-banner","visits":3}
36
+ {"utm_content":"text-link","visits":2}
37
+ {"utm_content":"button-primary","visits":2}
38
+ {"utm_content":"footer-link","visits":1}
39
+
40
+ - name: Filtered by OS - Windows
41
+ description: Filtered by OS - Windows
42
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&os=windows
43
+ expected_result: |
44
+ {"utm_content":"hero-banner","visits":5}
45
+ {"utm_content":"footer-link","visits":3}
46
+ {"utm_content":"text-link","visits":3}
47
+ {"utm_content":"button-primary","visits":2}
48
+ {"utm_content":"nav-menu","visits":1}
49
+
50
+ - name: Filtered by pathname - /about/
51
+ description: Filtered by pathname - /about/
52
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&pathname=%2Fabout%2F
53
+ expected_result: |
54
+ {"utm_content":"hero-banner","visits":4}
55
+ {"utm_content":"footer-link","visits":2}
56
+ {"utm_content":"text-link","visits":1}
57
+ {"utm_content":"button-primary","visits":1}
58
+
59
+ - name: Filtered by post_uuid - 06b1b0c9-fb53-4a15-a060-3db3fde7b1fc (/about/)
60
+ description: Filtered by post_uuid - 06b1b0c9-fb53-4a15-a060-3db3fde7b1fc (/about/)
61
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&post_uuid=06b1b0c9-fb53-4a15-a060-3db3fde7b1fc
62
+ expected_result: |
63
+ {"utm_content":"hero-banner","visits":4}
64
+ {"utm_content":"footer-link","visits":2}
65
+ {"utm_content":"text-link","visits":1}
66
+ {"utm_content":"button-primary","visits":1}
67
+
68
+ - name: Filtered by source - bing.com
69
+ description: Filtered by source - bing.com
70
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&source=bing.com
71
+ expected_result: |
72
+ {"utm_content":"footer-link","visits":2}
73
+
74
+ - name: Filtered by member status - paid
75
+ description: Filtered by member status - paid
76
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&member_status=paid
77
+ expected_result: |
78
+ {"utm_content":"text-link","visits":2}
79
+ {"utm_content":"hero-banner","visits":2}
80
+ {"utm_content":"footer-link","visits":1}
81
+
82
+ - name: Filtered by member status - undefined
83
+ description: Filtered by member status - undefined
84
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&member_status=undefined
85
+ expected_result: |
86
+ {"utm_content":"button-primary","visits":3}
87
+ {"utm_content":"nav-menu","visits":1}
88
+ {"utm_content":"text-link","visits":1}
89
+ {"utm_content":"hero-banner","visits":1}
90
+
91
+ - name: Filtered by timezone - America/Los_Angeles
92
+ description: Filtered by timezone - America/Los_Angeles
93
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=America/Los_Angeles
94
+ expected_result: |
95
+ {"utm_content":"hero-banner","visits":5}
96
+ {"utm_content":"text-link","visits":3}
97
+ {"utm_content":"footer-link","visits":2}
98
+ {"utm_content":"button-primary","visits":2}
99
+ {"utm_content":"nav-menu","visits":1}
100
+
101
+ - name: Test with multiple filters combined
102
+ description: Test with multiple filters combined
103
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&device=desktop&browser=firefox
104
+ expected_result: |
105
+ {"utm_content":"text-link","visits":2}
106
+ {"utm_content":"nav-menu","visits":1}
107
+ {"utm_content":"footer-link","visits":1}
108
+ {"utm_content":"button-primary","visits":1}
@@ -0,0 +1,108 @@
1
+
2
+ - name: Date range
3
+ description: All fixture data
4
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC
5
+ expected_result: |
6
+ {"utm_medium":"email","visits":6}
7
+ {"utm_medium":"cpc","visits":3}
8
+ {"utm_medium":"organic","visits":3}
9
+ {"utm_medium":"referral","visits":3}
10
+ {"utm_medium":"display","visits":1}
11
+
12
+ - name: Filtered by browser - Chrome
13
+ description: Filtered by browser - Chrome
14
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&browser=chrome
15
+ expected_result: |
16
+ {"utm_medium":"email","visits":4}
17
+ {"utm_medium":"cpc","visits":1}
18
+ {"utm_medium":"organic","visits":1}
19
+ {"utm_medium":"referral","visits":1}
20
+
21
+ - name: Filtered by device - desktop
22
+ description: Filtered by device - desktop
23
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&device=desktop
24
+ expected_result: |
25
+ {"utm_medium":"email","visits":6}
26
+ {"utm_medium":"cpc","visits":3}
27
+ {"utm_medium":"referral","visits":3}
28
+ {"utm_medium":"organic","visits":2}
29
+ {"utm_medium":"display","visits":1}
30
+
31
+ - name: Filtered by location - UK
32
+ description: Filtered by location - UK
33
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&location=GB
34
+ expected_result: |
35
+ {"utm_medium":"email","visits":3}
36
+ {"utm_medium":"organic","visits":2}
37
+ {"utm_medium":"referral","visits":2}
38
+ {"utm_medium":"cpc","visits":1}
39
+
40
+ - name: Filtered by OS - Windows
41
+ description: Filtered by OS - Windows
42
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&os=windows
43
+ expected_result: |
44
+ {"utm_medium":"email","visits":5}
45
+ {"utm_medium":"cpc","visits":3}
46
+ {"utm_medium":"referral","visits":3}
47
+ {"utm_medium":"organic","visits":2}
48
+ {"utm_medium":"display","visits":1}
49
+
50
+ - name: Filtered by pathname - /about/
51
+ description: Filtered by pathname - /about/
52
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&pathname=%2Fabout%2F
53
+ expected_result: |
54
+ {"utm_medium":"email","visits":4}
55
+ {"utm_medium":"cpc","visits":2}
56
+ {"utm_medium":"organic","visits":1}
57
+ {"utm_medium":"referral","visits":1}
58
+
59
+ - name: Filtered by post_uuid - 06b1b0c9-fb53-4a15-a060-3db3fde7b1fc (/about/)
60
+ description: Filtered by post_uuid - 06b1b0c9-fb53-4a15-a060-3db3fde7b1fc (/about/)
61
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&post_uuid=06b1b0c9-fb53-4a15-a060-3db3fde7b1fc
62
+ expected_result: |
63
+ {"utm_medium":"email","visits":4}
64
+ {"utm_medium":"cpc","visits":2}
65
+ {"utm_medium":"organic","visits":1}
66
+ {"utm_medium":"referral","visits":1}
67
+
68
+ - name: Filtered by source - bing.com
69
+ description: Filtered by source - bing.com
70
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&source=bing.com
71
+ expected_result: |
72
+ {"utm_medium":"cpc","visits":2}
73
+
74
+ - name: Filtered by member status - paid
75
+ description: Filtered by member status - paid
76
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&member_status=paid
77
+ expected_result: |
78
+ {"utm_medium":"referral","visits":2}
79
+ {"utm_medium":"email","visits":2}
80
+ {"utm_medium":"cpc","visits":1}
81
+
82
+ - name: Filtered by member status - undefined
83
+ description: Filtered by member status - undefined
84
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&member_status=undefined
85
+ expected_result: |
86
+ {"utm_medium":"organic","visits":3}
87
+ {"utm_medium":"referral","visits":1}
88
+ {"utm_medium":"display","visits":1}
89
+ {"utm_medium":"email","visits":1}
90
+
91
+ - name: Filtered by timezone - America/Los_Angeles
92
+ description: Filtered by timezone - America/Los_Angeles
93
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=America/Los_Angeles
94
+ expected_result: |
95
+ {"utm_medium":"email","visits":5}
96
+ {"utm_medium":"referral","visits":3}
97
+ {"utm_medium":"cpc","visits":2}
98
+ {"utm_medium":"organic","visits":2}
99
+ {"utm_medium":"display","visits":1}
100
+
101
+ - name: Test with multiple filters combined
102
+ description: Test with multiple filters combined
103
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&device=desktop&browser=firefox
104
+ expected_result: |
105
+ {"utm_medium":"referral","visits":2}
106
+ {"utm_medium":"cpc","visits":1}
107
+ {"utm_medium":"organic","visits":1}
108
+ {"utm_medium":"display","visits":1}
@@ -0,0 +1,108 @@
1
+
2
+ - name: Date range
3
+ description: All fixture data
4
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC
5
+ expected_result: |
6
+ {"utm_source":"google","visits":6}
7
+ {"utm_source":"linkedin","visits":3}
8
+ {"utm_source":"twitter","visits":3}
9
+ {"utm_source":"newsletter","visits":3}
10
+ {"utm_source":"instagram","visits":1}
11
+
12
+ - name: Filtered by browser - Chrome
13
+ description: Filtered by browser - Chrome
14
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&browser=chrome
15
+ expected_result: |
16
+ {"utm_source":"google","visits":4}
17
+ {"utm_source":"linkedin","visits":1}
18
+ {"utm_source":"twitter","visits":1}
19
+ {"utm_source":"newsletter","visits":1}
20
+
21
+ - name: Filtered by device - desktop
22
+ description: Filtered by device - desktop
23
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&device=desktop
24
+ expected_result: |
25
+ {"utm_source":"google","visits":6}
26
+ {"utm_source":"twitter","visits":3}
27
+ {"utm_source":"newsletter","visits":3}
28
+ {"utm_source":"linkedin","visits":2}
29
+ {"utm_source":"instagram","visits":1}
30
+
31
+ - name: Filtered by location - UK
32
+ description: Filtered by location - UK
33
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&location=GB
34
+ expected_result: |
35
+ {"utm_source":"google","visits":3}
36
+ {"utm_source":"linkedin","visits":2}
37
+ {"utm_source":"newsletter","visits":2}
38
+ {"utm_source":"twitter","visits":1}
39
+
40
+ - name: Filtered by OS - Windows
41
+ description: Filtered by OS - Windows
42
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&os=windows
43
+ expected_result: |
44
+ {"utm_source":"google","visits":5}
45
+ {"utm_source":"twitter","visits":3}
46
+ {"utm_source":"newsletter","visits":3}
47
+ {"utm_source":"linkedin","visits":2}
48
+ {"utm_source":"instagram","visits":1}
49
+
50
+ - name: Filtered by pathname - /about/
51
+ description: Filtered by pathname - /about/
52
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&pathname=%2Fabout%2F
53
+ expected_result: |
54
+ {"utm_source":"google","visits":4}
55
+ {"utm_source":"twitter","visits":2}
56
+ {"utm_source":"linkedin","visits":1}
57
+ {"utm_source":"newsletter","visits":1}
58
+
59
+ - name: Filtered by post_uuid - 06b1b0c9-fb53-4a15-a060-3db3fde7b1fc (/about/)
60
+ description: Filtered by post_uuid - 06b1b0c9-fb53-4a15-a060-3db3fde7b1fc (/about/)
61
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&post_uuid=06b1b0c9-fb53-4a15-a060-3db3fde7b1fc
62
+ expected_result: |
63
+ {"utm_source":"google","visits":4}
64
+ {"utm_source":"twitter","visits":2}
65
+ {"utm_source":"linkedin","visits":1}
66
+ {"utm_source":"newsletter","visits":1}
67
+
68
+ - name: Filtered by source - bing.com
69
+ description: Filtered by source - bing.com
70
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&source=bing.com
71
+ expected_result: |
72
+ {"utm_source":"twitter","visits":2}
73
+
74
+ - name: Filtered by member status - paid
75
+ description: Filtered by member status - paid
76
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&member_status=paid
77
+ expected_result: |
78
+ {"utm_source":"google","visits":2}
79
+ {"utm_source":"newsletter","visits":2}
80
+ {"utm_source":"twitter","visits":1}
81
+
82
+ - name: Filtered by member status - undefined
83
+ description: Filtered by member status - undefined
84
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&member_status=undefined
85
+ expected_result: |
86
+ {"utm_source":"linkedin","visits":3}
87
+ {"utm_source":"google","visits":1}
88
+ {"utm_source":"instagram","visits":1}
89
+ {"utm_source":"newsletter","visits":1}
90
+
91
+ - name: Filtered by timezone - America/Los_Angeles
92
+ description: Filtered by timezone - America/Los_Angeles
93
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=America/Los_Angeles
94
+ expected_result: |
95
+ {"utm_source":"google","visits":5}
96
+ {"utm_source":"newsletter","visits":3}
97
+ {"utm_source":"linkedin","visits":2}
98
+ {"utm_source":"twitter","visits":2}
99
+ {"utm_source":"instagram","visits":1}
100
+
101
+ - name: Test with multiple filters combined
102
+ description: Test with multiple filters combined
103
+ parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07&timezone=Etc/UTC&device=desktop&browser=firefox
104
+ expected_result: |
105
+ {"utm_source":"newsletter","visits":2}
106
+ {"utm_source":"linkedin","visits":1}
107
+ {"utm_source":"twitter","visits":1}
108
+ {"utm_source":"instagram","visits":1}