tr
TryGhost
GitHub
Ghost
Workspace
GitHub
CI Pipeline Executions
Filtered
Runs
Demo
Insights
Compare tasks
Analytics
Sign in
Toggle sidebar
Overview
⌘K
Ghost
Loading workspace stats
Loading workspace insights...
Statistics interval
7 days
30 days
Latest CI Pipeline Executions
Status
Fix filter
Filter
Fuzzy
Filter range
Sort by
Sort by
Start time
Sort ascending
Sort descending
Succeeded
30316
809a145d Moved UI-only e2e cases to the acceptance tier no ref Tier rule: acceptance asserts both directions of the client's API contract against the in-browser fake server; e2e asserts the server's side and real persistence, one journey per family. UI assertions that need no real server were living in e2e — this ports them down and leaves each family one true journey. Analytics (site) — ported to analytics.acceptance.test.tsx, e2e deleted: - web-traffic.test.ts (6 cases: zeroed graph tabs, empty top content/sources/locations, posts/pages tab empties) -> "renders zeroed KPIs and empty cards when there are no visits" + "keeps the empty state across the top content tabs"; file deleted. - growth.test.ts (4 empty top-content tab cases) -> "shows No conversions across the top content tabs when nothing converted"; file deleted. The fake world zero-fills the member-count history the way the server does — a fully empty history collapses the view. - newsletters.test.ts empty cards (3 cases) -> "shows the empty state on every newsletter card when none were sent"; the total-subscribers percent-change case (real member import + server stats) remains. - overview.test.ts latest-post/top-posts zero cases (2) -> "renders the latest and top posts with zeroed stats when nothing is recorded"; view-more navigations (2) -> "navigates to the web traffic view from the visitors KPI" / "navigates to the growth view from the members KPI". The records-visitor journey (real Tinybird ingest) remains. Post analytics — ported to post-analytics.acceptance.test.tsx: - post-analytics/overview.test.ts (5 cases: tabs render, zeroed growth section, web/growth view-more empties, growth hidden when members_track_sources is off) -> four new acceptance cases (the tracking-off case is a boot override instead of a live settings toggle + reload); file deleted. - post-analytics/growth.test.ts (3 cases: zeroed members card, empty top sources, view-member link) -> "renders the zeroed members card and empty sources..." + "links the members KPI to the members list filtered to this post" (also asserts the outgoing NQL filter); file deleted. web-filters journeys (real traffic) remain. Integrations — integrations.acceptance.test.tsx: - Transistor enable/badge was covered; added the disable direction ("clears the Active badge after disabling") and a Pintura disable save leg; Unsplash both directions were already covered. - The transistor labs flag was removed in #27082, so the e2e visible/hidden-by-flag cases asserted a gate that no longer exists; replaced by "shows the Transistor integration in the built-in list". - e2e keeps one journey: transistor enabled state persists after page reload. Tags — tag-detail.acceptance.test.tsx: - 404 for an unknown slug -> "shows the not-found page when the tag does not exist"; nav active state on /tags/new and while editing -> two "keeps the Tags nav item active..." cases (active state is React-Router-computed, not Ember-bridge). Load-by-slug was already covered by "renders the seeded tag". - e2e keeps the true journeys: add, edit, no-duplicate edit, delete with and without posts. - sidebarScreen.navLink now scopes to the shell sidebar testid: the tag-detail breadcrumb repeats the "Tags" link name and broke strict locator mode. Registry adoption: the e2e settings section/staff/member-details page objects now import their testids from @tryghost/test-data selectors instead of hard-coding them; missing constants added additively (settings: integrations, dangerzone, site-visibility-select, owner-user, custom-field-list-item, free-welcome-email-row, header-image-field, welcome-email-editor, profile/cover image upload+preview, publication-cover, and the Shade image-upload container/delete ids; members: member-actions, member-detail-title/-engagement, member-subscription-toggle, member-signin-url, confirm/cancel-delete). Registries share strings only; locator code stays in each tier.
by Steve Larson
S
Succeeded
30316
809a145d Moved UI-only e2e cases to the acceptance tier no ref Tier rule: acceptance asserts both directions of the client's API contract against the in-browser fake server; e2e asserts the server's side and real persistence, one journey per family. UI assertions that need no real server were living in e2e — this ports them down and leaves each family one true journey. Analytics (site) — ported to analytics.acceptance.test.tsx, e2e deleted: - web-traffic.test.ts (6 cases: zeroed graph tabs, empty top content/sources/locations, posts/pages tab empties) -> "renders zeroed KPIs and empty cards when there are no visits" + "keeps the empty state across the top content tabs"; file deleted. - growth.test.ts (4 empty top-content tab cases) -> "shows No conversions across the top content tabs when nothing converted"; file deleted. The fake world zero-fills the member-count history the way the server does — a fully empty history collapses the view. - newsletters.test.ts empty cards (3 cases) -> "shows the empty state on every newsletter card when none were sent"; the total-subscribers percent-change case (real member import + server stats) remains. - overview.test.ts latest-post/top-posts zero cases (2) -> "renders the latest and top posts with zeroed stats when nothing is recorded"; view-more navigations (2) -> "navigates to the web traffic view from the visitors KPI" / "navigates to the growth view from the members KPI". The records-visitor journey (real Tinybird ingest) remains. Post analytics — ported to post-analytics.acceptance.test.tsx: - post-analytics/overview.test.ts (5 cases: tabs render, zeroed growth section, web/growth view-more empties, growth hidden when members_track_sources is off) -> four new acceptance cases (the tracking-off case is a boot override instead of a live settings toggle + reload); file deleted. - post-analytics/growth.test.ts (3 cases: zeroed members card, empty top sources, view-member link) -> "renders the zeroed members card and empty sources..." + "links the members KPI to the members list filtered to this post" (also asserts the outgoing NQL filter); file deleted. web-filters journeys (real traffic) remain. Integrations — integrations.acceptance.test.tsx: - Transistor enable/badge was covered; added the disable direction ("clears the Active badge after disabling") and a Pintura disable save leg; Unsplash both directions were already covered. - The transistor labs flag was removed in #27082, so the e2e visible/hidden-by-flag cases asserted a gate that no longer exists; replaced by "shows the Transistor integration in the built-in list". - e2e keeps one journey: transistor enabled state persists after page reload. Tags — tag-detail.acceptance.test.tsx: - 404 for an unknown slug -> "shows the not-found page when the tag does not exist"; nav active state on /tags/new and while editing -> two "keeps the Tags nav item active..." cases (active state is React-Router-computed, not Ember-bridge). Load-by-slug was already covered by "renders the seeded tag". - e2e keeps the true journeys: add, edit, no-duplicate edit, delete with and without posts. - sidebarScreen.navLink now scopes to the shell sidebar testid: the tag-detail breadcrumb repeats the "Tags" link name and broke strict locator mode. Registry adoption: the e2e settings section/staff/member-details page objects now import their testids from @tryghost/test-data selectors instead of hard-coding them; missing constants added additively (settings: integrations, dangerzone, site-visibility-select, owner-user, custom-field-list-item, free-welcome-email-row, header-image-field, welcome-email-editor, profile/cover image upload+preview, publication-cover, and the Shade image-upload container/delete ids; members: member-actions, member-detail-title/-engagement, member-subscription-toggle, member-signin-url, confirm/cancel-delete). Registries share strings only; locator code stays in each tier.
by Steve Larson
S
Previous
Next