Skip to content

Commit

Permalink
Update tests
Browse files Browse the repository at this point in the history
  • Loading branch information
mrica-equinor committed Aug 9, 2024
1 parent d043547 commit a69ba25
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 38 deletions.
13 changes: 1 addition & 12 deletions backend/api.test/Client/MissionTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -841,18 +841,7 @@ public async Task MissionFailsIfRobotIsNotInSameDeckAsMission()
// Act
string customMissionsUrl = "/missions/custom";
var missionResponse = await _client.PostAsync(customMissionsUrl, content);
Assert.True(missionResponse.IsSuccessStatusCode);
var missionRun = await missionResponse.Content.ReadFromJsonAsync<MissionRun>(_serializerOptions);
Assert.NotNull(missionRun);
Assert.Equal(MissionStatus.Pending, missionRun.Status);

await Task.Delay(2000);
string missionRunByIdUrl = $"/missions/runs/{missionRun.Id}";
var missionByIdResponse = await _client.GetAsync(missionRunByIdUrl);
Assert.True(missionByIdResponse.IsSuccessStatusCode);
var missionRunAfterUpdate = await missionByIdResponse.Content.ReadFromJsonAsync<MissionRun>(_serializerOptions);
Assert.NotNull(missionRunAfterUpdate);
Assert.Equal(MissionStatus.Aborted, missionRunAfterUpdate.Status);
Assert.Equal(HttpStatusCode.Conflict, missionResponse.StatusCode);
}
}
}
50 changes: 24 additions & 26 deletions backend/api.test/EventHandlers/TestMissionEventHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -505,7 +505,7 @@ public async Task ReturnHomeMissionNotScheduledIfRobotIsNotLocalized()
}

[Fact]
public async Task ReturnHomeMissionCancelledIfNewMissionScheduled()
public async Task ReturnHomeMissionAbortedIfNewMissionScheduled()
{
// Arrange
var installation = await _databaseUtilities.NewInstallation();
Expand All @@ -521,40 +521,38 @@ public async Task ReturnHomeMissionCancelledIfNewMissionScheduled()
// Act
var eventArgs = new MissionRunCreatedEventArgs(missionRun.Id);
_missionRunService.RaiseEvent(nameof(MissionRunService.MissionRunCreated), eventArgs);

Thread.Sleep(500);

// Assert
var updatedReturnHomeMission = await _missionRunService.ReadById(returnToHomeMission.Id);
Assert.True(updatedReturnHomeMission?.Status.Equals(MissionStatus.Cancelled));
Assert.True(updatedReturnHomeMission?.Tasks.FirstOrDefault()?.Status.Equals(Api.Database.Models.TaskStatus.Cancelled));
}

[Fact]
public async Task ReturnHomeMissionNotCancelledIfNewMissionScheduledInDifferentDeck()
{
// Arrange
var installation = await _databaseUtilities.NewInstallation();
var plant = await _databaseUtilities.NewPlant(installation.InstallationCode);
var deck1 = await _databaseUtilities.NewDeck(installation.InstallationCode, plant.PlantCode);
var area1 = await _databaseUtilities.NewArea(installation.InstallationCode, plant.PlantCode, deck1.Name);
var robot = await _databaseUtilities.NewRobot(RobotStatus.Busy, installation, area1);
var deck2 = await _databaseUtilities.NewDeck(installation.InstallationCode, plant.PlantCode, "testDeck2");
var area2 = await _databaseUtilities.NewArea(installation.InstallationCode, plant.PlantCode, deck2.Name);
var returnToHomeMission = await _databaseUtilities.NewMissionRun(installation.InstallationCode, robot, area1, true, MissionRunType.ReturnHome, MissionStatus.Ongoing, Guid.NewGuid().ToString());
var missionRun = await _databaseUtilities.NewMissionRun(installation.InstallationCode, robot, area2, true, MissionRunType.Normal, MissionStatus.Pending, Guid.NewGuid().ToString());

Thread.Sleep(100);
Assert.True(updatedReturnHomeMission?.Status.Equals(MissionStatus.Aborted));

// Act
var eventArgs = new MissionRunCreatedEventArgs(missionRun.Id);
_missionRunService.RaiseEvent(nameof(MissionRunService.MissionRunCreated), eventArgs);
var mqttIsarMissionEventArgs = new MqttReceivedArgs(
new IsarMissionMessage
{
RobotName = robot.Name,
IsarId = robot.IsarId,
MissionId = returnToHomeMission.IsarMissionId,
Status = "cancelled",
Timestamp = DateTime.UtcNow
});

var mqttIsarStatusEventArgs = new MqttReceivedArgs(
new IsarStatusMessage
{
RobotName = robot.Name,
IsarId = robot.IsarId,
Status = RobotStatus.Available,
Timestamp = DateTime.UtcNow
});

_mqttService.RaiseEvent(nameof(MqttService.MqttIsarMissionReceived), mqttIsarMissionEventArgs);
_mqttService.RaiseEvent(nameof(MqttService.MqttIsarStatusReceived), mqttIsarStatusEventArgs);
Thread.Sleep(500);

// Assert
var updatedReturnHomeMission = await _missionRunService.ReadById(returnToHomeMission.Id);
Assert.True(updatedReturnHomeMission?.Status.Equals(MissionStatus.Ongoing));
var updatedMissionRun = await _missionRunService.ReadById(missionRun.Id);
Assert.True(updatedMissionRun?.Status.Equals(MissionStatus.Ongoing));
}
}
}

0 comments on commit a69ba25

Please sign in to comment.