Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion backend/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,6 @@ The access matrix looks like this:

| | **Read Only** | **User** | **Admin** |
| -------------------------- | ------------- | -------- | --------- |
| Area | Read | Read | CRUD |
| InspectionArea | Read | Read | CRUD |
| Plant | Read | Read | CRUD |
| Installation | Read | Read | CRUD |
Expand Down
166 changes: 0 additions & 166 deletions backend/api.test/Controllers/AreaControllerTests.cs

This file was deleted.

8 changes: 5 additions & 3 deletions backend/api.test/Controllers/InspectionAreaControllerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,11 @@ public async Task CheckThatMissionDefinitionIsCreatedInInspectionAreaWhenSchedul
installation.InstallationCode,
plant.PlantCode
);
var robot = await DatabaseUtilities.NewRobot(RobotStatus.Available, installation);
var robot = await DatabaseUtilities.NewRobot(
RobotStatus.Available,
installation,
inspectionArea
);

var inspection = new CustomInspectionQuery
{
Expand All @@ -119,7 +123,6 @@ public async Task CheckThatMissionDefinitionIsCreatedInInspectionAreaWhenSchedul
RobotId = robot.Id,
DesiredStartTime = DateTime.UtcNow,
InstallationCode = installation.InstallationCode,
InspectionAreaName = inspectionArea.Name,
Name = "TestMission",
Tasks = tasks,
};
Expand Down Expand Up @@ -249,7 +252,6 @@ public async Task ScheduleMissionOutsideInspectionAreaPolygonFails()
RobotId = robot.Id,
DesiredStartTime = DateTime.UtcNow,
InstallationCode = installation.InstallationCode,
InspectionAreaName = inspectionArea.Name,
Name = "TestMission",
Tasks = tasks,
};
Expand Down
103 changes: 58 additions & 45 deletions backend/api.test/Controllers/MissionSchedulingControllerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,16 @@ public async Task CheckThatSchedulingAMissionToBusyRobotSetsMissionToPending()
{
// Arrange
var installation = await DatabaseUtilities.NewInstallation();
var robot = await DatabaseUtilities.NewRobot(RobotStatus.Busy, installation);
var plant = await DatabaseUtilities.NewPlant(installation.InstallationCode);
var inspectionArea = await DatabaseUtilities.NewInspectionArea(
installation.InstallationCode,
plant.PlantCode
);
var robot = await DatabaseUtilities.NewRobot(
RobotStatus.Busy,
installation,
inspectionArea
);
string missionsUrl = "/missions";

// Act
Expand Down Expand Up @@ -86,7 +95,16 @@ public async Task CheckThatSchedulingThreeAdditionalMissionsToTheQueueWorksAsExp
{
// Arrange
var installation = await DatabaseUtilities.NewInstallation();
var robot = await DatabaseUtilities.NewRobot(RobotStatus.Busy, installation);
var plant = await DatabaseUtilities.NewPlant(installation.InstallationCode);
var inspectionArea = await DatabaseUtilities.NewInspectionArea(
installation.InstallationCode,
plant.PlantCode
);
var robot = await DatabaseUtilities.NewRobot(
RobotStatus.Busy,
installation,
inspectionArea
);

// Act
var query = new ScheduledMissionQuery
Expand Down Expand Up @@ -161,13 +179,13 @@ public async Task ScheduleDuplicateCustomMissionDefinitions()
installation.InstallationCode,
plant.PlantCode
);
var robot = await DatabaseUtilities.NewRobot(RobotStatus.Busy, installation);

var query = CreateDefaultCustomMissionQuery(
robot.Id,
installation.InstallationCode,
inspectionArea.Name
var robot = await DatabaseUtilities.NewRobot(
RobotStatus.Busy,
installation,
inspectionArea
);

var query = CreateDefaultCustomMissionQuery(robot.Id, installation.InstallationCode);
var content = new StringContent(
JsonSerializer.Serialize(query),
null,
Expand Down Expand Up @@ -205,13 +223,13 @@ public async Task CheckThatNextRunIsCorrectlySelectedWhenSchedulingMultipleMissi
installation.InstallationCode,
plant.PlantCode
);
var robot = await DatabaseUtilities.NewRobot(RobotStatus.Available, installation);

var query = CreateDefaultCustomMissionQuery(
robot.Id,
installation.InstallationCode,
inspectionArea.Name
var robot = await DatabaseUtilities.NewRobot(
RobotStatus.Available,
installation,
inspectionArea
);

var query = CreateDefaultCustomMissionQuery(robot.Id, installation.InstallationCode);
var content = new StringContent(
JsonSerializer.Serialize(query),
null,
Expand Down Expand Up @@ -300,13 +318,13 @@ public async Task CheckThatMissionDoesNotStartIfRobotIsNotInSameInstallationAsMi
);

var otherInstallation = await DatabaseUtilities.NewInstallation("OtherCode");
var robot = await DatabaseUtilities.NewRobot(RobotStatus.Available, otherInstallation);

var query = CreateDefaultCustomMissionQuery(
robot.Id,
installation.InstallationCode,
inspectionArea.Name
var robot = await DatabaseUtilities.NewRobot(
RobotStatus.Available,
otherInstallation,
inspectionArea
);

var query = CreateDefaultCustomMissionQuery(robot.Id, installation.InstallationCode);
var content = new StringContent(
JsonSerializer.Serialize(query),
null,
Expand All @@ -326,55 +344,52 @@ public async Task CheckThatMissionFailsIfRobotIsNotInSameInspectionAreaAsMission
var installation = await DatabaseUtilities.NewInstallation();
var plant = await DatabaseUtilities.NewPlant(installation.InstallationCode);

var inspectionPolygonOne = new InspectionAreaPolygon
var inspectionPolygonRobot = new InspectionAreaPolygon
{
ZMin = 0,
ZMax = 10,
Positions =
[
new XYPosition { X = 0, Y = 0 },
new XYPosition { X = 0, Y = 10 },
new XYPosition { X = 10, Y = 10 },
new XYPosition { X = 10, Y = 0 },
new XYPosition { X = 11, Y = 11 },
new XYPosition { X = 11, Y = 20 },
new XYPosition { X = 20, Y = 20 },
new XYPosition { X = 20, Y = 11 },
],
};
var inspectionAreaOne = await DatabaseUtilities.NewInspectionArea(

var inspectionAreaRobot = await DatabaseUtilities.NewInspectionArea(
installation.InstallationCode,
plant.PlantCode,
"InspectionAreaOne",
inspectionPolygonOne
"InspectionAreaRobot",
inspectionPolygonRobot
);

var inspectionPolygonTwo = new InspectionAreaPolygon
var inspectionPolygonMission = new InspectionAreaPolygon
{
ZMin = 0,
ZMax = 10,
Positions =
[
new XYPosition { X = 11, Y = 11 },
new XYPosition { X = 11, Y = 20 },
new XYPosition { X = 20, Y = 20 },
new XYPosition { X = 20, Y = 11 },
new XYPosition { X = 0, Y = 0 },
new XYPosition { X = 0, Y = 10 },
new XYPosition { X = 10, Y = 10 },
new XYPosition { X = 10, Y = 0 },
],
};
var inspectionAreaTwo = await DatabaseUtilities.NewInspectionArea(
var _inspectionAreaMission = await DatabaseUtilities.NewInspectionArea(
installation.InstallationCode,
plant.PlantCode,
"InspectionAreaTwo",
inspectionPolygonTwo
"InspectionAreaMission",
inspectionPolygonMission
);

var robot = await DatabaseUtilities.NewRobot(
RobotStatus.Available,
installation,
inspectionAreaOne
inspectionAreaRobot
);

var query = CreateDefaultCustomMissionQuery(
robot.Id,
installation.InstallationCode,
inspectionAreaTwo.Name
);
var query = CreateDefaultCustomMissionQuery(robot.Id, installation.InstallationCode);
var content = new StringContent(
JsonSerializer.Serialize(query),
null,
Expand All @@ -389,15 +404,13 @@ public async Task CheckThatMissionFailsIfRobotIsNotInSameInspectionAreaAsMission

private static CustomMissionQuery CreateDefaultCustomMissionQuery(
string robotId,
string installationCode,
string inspectionAreaName
string installationCode
)
{
return new CustomMissionQuery
{
RobotId = robotId,
InstallationCode = installationCode,
InspectionAreaName = inspectionAreaName,
DesiredStartTime = DateTime.SpecifyKind(new DateTime(3050, 1, 1), DateTimeKind.Utc),
InspectionFrequency = new TimeSpan(14, 0, 0, 0),
Name = "TestMission",
Expand Down
Loading