feat: translation flows, revision conflicts, delete scopes, article moves and a target site for new articles

This commit is contained in:
Florian Sylvain committed 2026-11-03 00:12:29 +01:00
1 parent 339e646eb8
commit 45fbbc33b1
93 files changed
+7630 -294

No files matched your search

@@ -13,7 +13,7 @@ Feature: Editor language navigation, title, header actions and permission states
And site "journal" has enabled languages en (default), fr, de, ar and disabled language es
And story 5 holds article 10 (en, online, "Renovation costs"), article 12 (fr, offline, "Couts de renovation"), article 11 (de, offline, not readable to the caller) and article 13 (ar, online, "Takalif")
And "owner" holds capabilities ["read","edit","publish","delete","create_translation"] on every version
And PATCH /v1/article/{id} is sent without "if_revision" in this slice (last write wins, as today); the revision conflict dialog belongs to localization_translation_flows
And PATCH /v1/article/{id} carries "if_revision" with the revision the editor loaded, as defined by localization_translation_flows (superseding the earlier last-write-wins behaviour); the conflict dialog belongs to localization_translation_flows
Rule: The language menu
@@ -21,7 +21,7 @@ Feature: Editor language navigation, title, header actions and permission states
Given the owner is on /article/12/edit
When the owner activates the language control named "Language: French. Switch version"
Then a menu opens, not a listbox, with the rows English, Arabic and French and no German version row
And German appears only as an "Add translation" row, because the owner holds create_translation
And German appears only as an "Add translation" row, because the owner holds create_translation, and activating that row opens the Add a translation dialog of localization_translation_flows
And each row shows its language name, its code and a publication badge ("Published" or "Draft")
And the row for French is marked current
And the order is English (default), Arabic, French, following translations[]
@@ -217,7 +217,7 @@ Feature: Editor language navigation, title, header actions and permission states
And on mobile it opens as a sheet
When the caller lacks the capability for an item
Then the item is shown disabled with the reason as visible text and aria-disabled
And Edit slug, Move article and Delete article are shown disabled with the reason "Not available yet." until the slice that wires them
And Edit slug is shown disabled with the reason "Not available yet." until the Search and sharing slice, while Move article and the Delete items act as defined by localization_translation_flows
Scenario: Cannot delete the whole article (P6)
Given the caller can create and modify only their own versions and holds ["read","edit","publish","delete","create_translation"] on French but not on a sibling