Add success test case for mission launch

This commit is contained in:
Stedoss
2026-07-28 09:18:24 +01:00
parent 9521df8df6
commit af7e32f3bc
@@ -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<CreateMissionLaunch>(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<Mission> createMission(TestDatabase database)
{
var mission = new Mission
{
Name = "new mission",
Description = "mission description",
};
database.Context.Missions.Add(mission);
await database.Context.SaveChangesAsync();
return mission;
}
}