mirror of
https://github.com/azaion/missions.git
synced 2026-06-21 09:21:07 +00:00
6b2c2d998e
Adds 26 blackbox tests (FT-P-01..18, FT-N-01..08) covering full AC
matrices for Vehicles/Missions/Waypoints/Health/Errors. Three
spec-vs-code carry-forwards documented in batch_02_report.md and
pinned with [Trait("carry_forward", ...)].
Shared scaffolding: ApiDtos.cs, AssertProblemEnvelopeAsync helper,
Seeds.cs, StubSchema.cs, CascadeF3/F4 fixtures, PostgresStopStart
fixture (gated by COMPOSE_RESTART_ENABLED). Removes the 4 placeholder
Sanity.cs files (now superseded). docker-compose.test.yml gains the
expected_results volume mount + FIXTURE_SQL_DIR for the consumer.
Co-authored-by: Cursor <cursoragent@cursor.com>
39 lines
1.4 KiB
C#
39 lines
1.4 KiB
C#
using Azaion.Missions.E2E.Helpers;
|
|
|
|
namespace Azaion.Missions.E2E.Fixtures;
|
|
|
|
/// <summary>
|
|
/// Loads <c>fixture_cascade_F4.sql</c> — the scoped waypoint cascade fixture.
|
|
/// One mission with TWO waypoints, each carrying its own media/annotation/detection
|
|
/// chain. FT-P-18 deletes the target waypoint and asserts the SIBLING
|
|
/// waypoint's chain remains intact.
|
|
/// </summary>
|
|
public sealed class CascadeF4Fixture : IDisposable
|
|
{
|
|
public static readonly Guid VehicleId =
|
|
Guid.Parse("11111111-0000-0000-0000-000000000004");
|
|
|
|
public static readonly Guid MissionId =
|
|
Guid.Parse("22222222-0000-0000-0000-000000000004");
|
|
|
|
public static readonly Guid TargetWaypointId =
|
|
Guid.Parse("33333333-0000-0000-0000-00000000F4A1");
|
|
|
|
public static readonly Guid SiblingWaypointId =
|
|
Guid.Parse("33333333-0000-0000-0000-00000000F4B2");
|
|
|
|
public const string TargetMediaId = "media-F4-target-001";
|
|
public const string SiblingMediaId = "media-F4-sibling-002";
|
|
public const string TargetAnnotationId = "anno-F4-target-001";
|
|
public const string SiblingAnnotationId = "anno-F4-sibling-002";
|
|
|
|
public CascadeF4Fixture()
|
|
{
|
|
DbResetFixture.ResetDatabase(TestEnvironment.DbSideChannel);
|
|
StubSchema.EnsureCreated();
|
|
Seeds.Apply(FixtureSql.Load("fixture_cascade_F4"));
|
|
}
|
|
|
|
public void Dispose() { /* Next fixture's reset cleans up. */ }
|
|
}
|