Add success test case for mission launch
This commit is contained in:
+40
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user