Class InstallTaskSectionGuiTests
EditMode tests for Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskSectionGui's non-GUI surface: Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskSectionGui.PrepareSelections's idempotent lazy-load guard, Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskSectionGui.TryEnsurePendingTask(System.Action{System.String},System.Boolean)'s "wires with defaults even when the host never drew the Installation step" contract plus its own once-per-run guard, and the section counting only project-owned profiles (Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskAuthoring.FindProjectOwnedProfiles) as candidates to wire into.
Inherited Members
Namespace: Serenity.Global.Infrastructure.Tests.Editor.InitializationPipeline
Assembly: Serenity.InitializationPipeline.Tests.Editor.dll
Syntax
public class InstallTaskSectionGuiTests
Remarks
Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskAuthoring.FindProjectOwnedProfiles and Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskAuthoring.FindExistingInstallTask(System.String,System.String@,System.Collections.Generic.List{System.String}@) —
what Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskSectionGui delegates every scan to — read the WHOLE PROJECT with no
folder-scoping hook, and the section exposes no constructor seam to redirect that scan at a temp folder
(unlike InstallTaskAuthoringTests's own scratch-profile fixtures, which call the
lower-level static methods directly against hand-built profiles instead of going through the section).
Serenity.Global.Infrastructure.Tests.Editor.InitializationPipeline.InstallTaskSectionGuiTests.TempFolder lives outside every SerenityEditorPaths.PackageRoots entry, so a profile
created under it is project-owned and IS a wiring candidate; the project's real shipped profiles under
Assets/Serenity are package content and never are — see
FindProjectOwnedProfiles_ExcludesPackageShippedProfiles() for that
half of the contract. A real Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskSectionGui.TryEnsurePendingTask(System.Action{System.String},System.Boolean) call that DOES wire
still unavoidably creates a task asset in the project's real default task folder (never scoped to
Serenity.Global.Infrastructure.Tests.Editor.InitializationPipeline.InstallTaskSectionGuiTests.TempFolder): Serenity.Global.Infrastructure.Tests.Editor.InitializationPipeline.InstallTaskSectionGuiTests.MethodName is a fixture name no shipped task ever carries (so
nothing is ever mistakenly reused), and Serenity.Global.Infrastructure.Tests.Editor.InitializationPipeline.InstallTaskSectionGuiTests.RevertRealProjectInstallTaskPollution undoes that
asset afterward — the same targeted revert CreateLeaderboardWindowDoneStepTests uses for the
identical constraint.
Constructors
InstallTaskSectionGuiTests()
Declaration
public InstallTaskSectionGuiTests()
Methods
DescribePendingWiringSentence_AllProfilesAlreadyContainTask_ReportsAlreadyWiredInsteadOfNotWired()
Declaration
public void DescribePendingWiringSentence_AllProfilesAlreadyContainTask_ReportsAlreadyWiredInsteadOfNotWired()
DescribePendingWiringSentence_NoProjectOwnedProfile_FactorySet_MentionsTheCreateButton()
Declaration
public void DescribePendingWiringSentence_NoProjectOwnedProfile_FactorySet_MentionsTheCreateButton()
DescribePendingWiringSentence_NoProjectOwnedProfile_ReportsNotWiredForLackOfAProjectProfile()
Declaration
public void DescribePendingWiringSentence_NoProjectOwnedProfile_ReportsNotWiredForLackOfAProjectProfile()
OneTimeTearDown()
Declaration
public void OneTimeTearDown()
PrepareSelections_CalledTwice_DoesNotReloadRows()
Declaration
public void PrepareSelections_CalledTwice_DoesNotReloadRows()
SetUp()
Declaration
public void SetUp()
TearDown()
Declaration
public void TearDown()
TryCreateProjectPipelineForTests_FactoryNull_ReturnsFalse()
Declaration
public void TryCreateProjectPipelineForTests_FactoryNull_ReturnsFalse()
TryCreateProjectPipelineForTests_FactoryReturnsNull_ReturnsFalse()
Declaration
public void TryCreateProjectPipelineForTests_FactoryReturnsNull_ReturnsFalse()
TryCreateProjectPipelineForTests_FactorySucceeds_RowsListTheNewProfileAndTryEnsurePendingTaskWiresIntoIt()
Declaration
public void TryCreateProjectPipelineForTests_FactorySucceeds_RowsListTheNewProfileAndTryEnsurePendingTaskWiresIntoIt()
TryEnsurePendingTask_CalledTwice_TheSecondCallIsANoOp()
Declaration
public void TryEnsurePendingTask_CalledTwice_TheSecondCallIsANoOp()
TryEnsurePendingTask_NoProjectOwnedProfile_ReturnsFalseWithoutCreatingATask()
Declaration
public void TryEnsurePendingTask_NoProjectOwnedProfile_ReturnsFalseWithoutCreatingATask()
TryEnsurePendingTask_ProjectOwnedProfileExists_WiresWithDefaultsEvenWithoutDrawingFirst()
Declaration
public void TryEnsurePendingTask_ProjectOwnedProfileExists_WiresWithDefaultsEvenWithoutDrawingFirst()