From af7e32f3bcc9a7c1220e33537712d1a7434f06b9 Mon Sep 17 00:00:00 2001 From: Stedoss <29103029+Stedoss@users.noreply.github.com> Date: Tue, 28 Jul 2026 09:18:24 +0100 Subject: [PATCH] Add success test case for mission launch --- .../CreateMissionLaunchTests.cs | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/test/MissionControl.Server.Tests/Endpoints/Missions/MissionLaunches/CreateMissionLaunchTests.cs b/test/MissionControl.Server.Tests/Endpoints/Missions/MissionLaunches/CreateMissionLaunchTests.cs index 7be69c9..51be3f5 100644 --- a/test/MissionControl.Server.Tests/Endpoints/Missions/MissionLaunches/CreateMissionLaunchTests.cs +++ b/test/MissionControl.Server.Tests/Endpoints/Missions/MissionLaunches/CreateMissionLaunchTests.cs @@ -44,4 +44,44 @@ public class CreateMissionLaunchTests e.PropertyName == nameof(CreateMissionLaunchRequest.MissionId) ); } + + [Fact] + public async Task Creates_mission_launch_when_request_is_valid_and_mission_exists() + { + var utcNow = DateTimeOffset.UtcNow; + + using var database = new TestDatabase(); + var mission = await createMission(database); + + var endpoint = Factory.Create(database.Context); + var request = new CreateMissionLaunchRequest + { + MissionId = mission.Id, + ScheduledFor = utcNow, + Status = MissionLaunchStatus.Cancelled, + }; + + await endpoint.HandleAsync(request, CancellationToken.None); + + var response = endpoint.Response; + + endpoint.HttpContext.Response.StatusCode.ShouldBe(StatusCodes.Status200OK); + response.Id.ShouldNotBe(Guid.Empty); + response.ScheduledFor.ShouldBe(utcNow); + response.Status.ShouldBe(MissionLaunchStatus.Cancelled); + } + + private static async Task createMission(TestDatabase database) + { + var mission = new Mission + { + Name = "new mission", + Description = "mission description", + }; + + database.Context.Missions.Add(mission); + await database.Context.SaveChangesAsync(); + + return mission; + } }