Class MenuTransitionTargetCatalogProjectionTests
EditMode tests for MenusById(), NonMenuViewIds(), Serenity.Menu.Infrastructure.Settings.Editor.MenuTransitionTargetCatalog.ViewKindsById and Serenity.Menu.Infrastructure.Settings.Editor.MenuTransitionTargetCatalog.OutboundEdgesById: all ride the catalog's own session-cached, Addressables-label-based project scan (see MenuTransitionTargetCatalog's own remarks).
Inherited Members
Namespace: Serenity.Menu.Tests.Editor
Assembly: Serenity.Menu.Tests.Editor.dll
Syntax
public class MenuTransitionTargetCatalogProjectionTests
Remarks
Every projection is exercised against a freshly written, freshly Addressables-registered fixture — the
MENU, COMPOSITE_VIEW, LEADERBOARD and ACHIEVEMENTS labels are all on
AddressablesManagedLabelNormalizer.ManagedLabels, so an asset registered through
SerenityAssetCreationTransaction mid-session is genuinely visible to the Addressables-label
scan by the time Refresh() runs.
Constructors
MenuTransitionTargetCatalogProjectionTests()
Declaration
public MenuTransitionTargetCatalogProjectionTests()
Methods
KnownTargetIdsAndProjectTargets_ContainAFreshlyRegisteredLeaderboardAndAchievementsView()
Declaration
public void KnownTargetIdsAndProjectTargets_ContainAFreshlyRegisteredLeaderboardAndAchievementsView()
MenusById_AfterRefresh_ContainsAFreshlyRegisteredMenu()
Declaration
public void MenusById_AfterRefresh_ContainsAFreshlyRegisteredMenu()
MenusById_ReturnsTheSameInstanceUntilRefresh()
Declaration
public void MenusById_ReturnsTheSameInstanceUntilRefresh()
MenusById_ViewKindsById_ViewDefinitionsById_RegisterAHostedMenuThatIsNotAddressableLabeled()
Regression test: a composite's hosted menus are real UnityMenuSettingsDefinition assets that are deliberately never Addressable-labeled — they are addressed through the composite's own child references at runtime, not a project-wide label scan. Before this fix, the scan could not see them at all, so the walker could never type them as menus and they could never become drafts; they must resolve exactly like a labeled menu everywhere the catalog is read.
Declaration
public void MenusById_ViewKindsById_ViewDefinitionsById_RegisterAHostedMenuThatIsNotAddressableLabeled()
NonMenuViewIds_ContainsAFreshlyRegisteredComposite()
Declaration
public void NonMenuViewIds_ContainsAFreshlyRegisteredComposite()
NonMenuViewIds_ReturnsTheSameInstanceUntilRefresh()
Declaration
public void NonMenuViewIds_ReturnsTheSameInstanceUntilRefresh()
OutboundEdgesById_ForALeaderboardView_YieldsExactlyTheReturnEdgeAndTheShowViewEdge()
Declaration
public void OutboundEdgesById_ForALeaderboardView_YieldsExactlyTheReturnEdgeAndTheShowViewEdge()
TearDown()
Declaration
public void TearDown()
ViewDefinitionsById_ForACompositeChildPath_ResolvesToTheHostingComposite()
Declaration
public void ViewDefinitionsById_ForACompositeChildPath_ResolvesToTheHostingComposite()
ViewKindsById_TypesEveryViewKindCorrectly()
Declaration
public void ViewKindsById_TypesEveryViewKindCorrectly()