48 lines
2.1 KiB
C#
48 lines
2.1 KiB
C#
using Launcher.Next.Application;
|
|
using Xunit;
|
|
|
|
namespace Launcher.Next.Tests;
|
|
|
|
public sealed class OwnerReviewStateTests
|
|
{
|
|
[Fact]
|
|
public void MissingAutomaticRoster_IsRosterFailure_NotProcessStartFailure()
|
|
{
|
|
var failure = LauncherOperationFailures.Classify("LEGACY_DOWNLOAD_LIST_NOT_FOUND", "RosterResolutionFailed");
|
|
Assert.Equal("RosterResolutionFailed", failure.Stage);
|
|
Assert.Equal("AUTOMATIC_DOWNLOAD_LIST_NOT_FOUND", failure.Code);
|
|
Assert.False(failure.ProcessStartAttempted);
|
|
Assert.DoesNotContain("запустить Autodesk", failure.UserMessage, StringComparison.OrdinalIgnoreCase);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData("DOWNLOAD_LIST_XML_MALFORMED", "PluginPlanFailed", "DOWNLOAD_LIST_XML_MALFORMED")]
|
|
[InlineData("LEGACY_PLUGIN_PRODUCT_MISMATCH", "PluginPlanFailed", "PLUGIN_PRODUCT_MISMATCH")]
|
|
[InlineData("LEGACY_MAPPING_NOT_FOUND", "PackageMappingFailed", "PACKAGE_MAPPING_NOT_FOUND")]
|
|
[InlineData("LOCAL_PARITY_ROSTER_PROFILE_MISMATCH", "RosterResolutionFailed", "OWNER_REVIEW_PROFILE_ROSTER_MISMATCH")]
|
|
public void SelectionAndMappingErrors_KeepTheirOperationStage(string source, string stage, string code)
|
|
{
|
|
var failure = LauncherOperationFailures.Classify(source, "ProjectValidationFailed");
|
|
Assert.Equal(stage, failure.Stage);
|
|
Assert.Equal(code, failure.Code);
|
|
Assert.False(failure.ProcessStartAttempted);
|
|
}
|
|
|
|
[Fact]
|
|
public void LaunchFailure_IsAttributedOnlyToActualProcessStartCode()
|
|
{
|
|
var failure = LauncherOperationFailures.Classify("PLANT3D_PROCESS_NOT_CREATED", "PackagePreparationFailed");
|
|
Assert.Equal("ProcessStartFailed", failure.Stage);
|
|
Assert.True(failure.ProcessStartAttempted);
|
|
Assert.Equal("Не удалось запустить Autodesk", failure.UserMessage);
|
|
}
|
|
|
|
[Fact]
|
|
public void UnknownPreparationFailure_DoesNotBecomeProcessFailure()
|
|
{
|
|
var failure = LauncherOperationFailures.Classify("LOCAL_PARITY_PATTERN_NOT_FOUND", "PackagePreparationFailed");
|
|
Assert.Equal("PackagePreparationFailed", failure.Stage);
|
|
Assert.False(failure.ProcessStartAttempted);
|
|
}
|
|
}
|