logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    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.

    Inheritance
    object
    InstallTaskSectionGuiTests
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    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()
    In this article
    © 2026 Serenity. All Rights Reserved