Ensure mission exists before inserting mission launch entity
This commit is contained in:
+30
@@ -0,0 +1,30 @@
|
||||
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<CreateMissionLaunch>(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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user