using FastEndpoints; using Microsoft.AspNetCore.Http; using Microsoft.EntityFrameworkCore; using MissionControl.Domain.Entities; using MissionControl.Server.Endpoints.Missions.MissionLaunches; using Shouldly; namespace MissionControl.Server.Tests.Endpoints.Missions.MissionLaunches; public class CreateMissionLaunchTests { [Fact] public async Task Returns_not_found_when_requested_mission_does_not_exist() { using var database = new TestDatabase(); var endpoint = Factory.Create(database.Context); var request = new CreateMissionLaunchRequest { MissionId = Guid.NewGuid(), ScheduledFor = DateTimeOffset.UtcNow, Status = "Pending", }; await endpoint.HandleAsync(request, CancellationToken.None); endpoint.HttpContext.Response.StatusCode.ShouldBe(StatusCodes.Status404NotFound); (await database.Context.MissionLaunches.AnyAsync()).ShouldBeFalse(); } }