diff --git a/backend/api.test/Client/AreaTests.cs b/backend/api.test/Client/AreaTests.cs index f28e00a2c..97760eb71 100644 --- a/backend/api.test/Client/AreaTests.cs +++ b/backend/api.test/Client/AreaTests.cs @@ -133,7 +133,7 @@ public async Task AreaTest() Assert.True(deckResponse.IsSuccessStatusCode); Assert.True(areaResponse.IsSuccessStatusCode); var area = await areaResponse.Content.ReadFromJsonAsync(_serializerOptions); - Assert.True(area != null); + Assert.NotNull(area); } [Fact] @@ -145,7 +145,7 @@ public async Task MissionIsCreatedInArea() var robotResponse = await _client.GetAsync(robotUrl); Assert.True(robotResponse.IsSuccessStatusCode); var robots = await robotResponse.Content.ReadFromJsonAsync>(_serializerOptions); - Assert.True(robots != null); + Assert.NotNull(robots); var robot = robots.Where(robot => robot.Name == "Shockwave").First(); string robotId = robot.Id; @@ -154,7 +154,7 @@ public async Task MissionIsCreatedInArea() var installationResponse = await _client.GetAsync(installationUrl); Assert.True(installationResponse.IsSuccessStatusCode); var installations = await installationResponse.Content.ReadFromJsonAsync>(_serializerOptions); - Assert.True(installations != null); + Assert.NotNull(installations); var installation = installations.Where(installation => installation.InstallationCode == robot.CurrentInstallation?.InstallationCode).First(); // Area @@ -162,7 +162,7 @@ public async Task MissionIsCreatedInArea() var areaResponse = await _client.GetAsync(areaUrl); Assert.True(areaResponse.IsSuccessStatusCode); var areas = await areaResponse.Content.ReadFromJsonAsync>(_serializerOptions); - Assert.True(areas != null); + Assert.NotNull(areas); var area = areas.Where(area => area.InstallationCode == installation.InstallationCode).First(); string areaId = area.Id; @@ -229,7 +229,7 @@ public async Task SafePositionTest() var areaResponse = await _client.GetAsync(areaUrl); Assert.True(areaResponse.IsSuccessStatusCode); var areaResponses = await areaResponse.Content.ReadFromJsonAsync>(_serializerOptions); - Assert.True(areaResponses != null); + Assert.NotNull(areaResponses); var area = areaResponses[0]; string areaName = area.AreaName; string installationCode = area.InstallationCode; @@ -261,7 +261,7 @@ public async Task SafePositionTest() areaResponse = await _client.PostAsync(addSafePositionUrl, content); Assert.True(areaResponse.IsSuccessStatusCode); var areaContent = await areaResponse.Content.ReadFromJsonAsync(_serializerOptions); - Assert.True(areaContent != null); + Assert.NotNull(areaContent); // Act string goToSafePositionUrl = $"/emergency-action/{installationCode}/abort-current-missions-and-send-all-robots-to-safe-zone"; @@ -282,7 +282,7 @@ public async Task UpdateDefaultLocalizationPoseOnDeck() var deckResponse = await _client.GetAsync(deckUrl); Assert.True(deckResponse.IsSuccessStatusCode); var decks = await deckResponse.Content.ReadFromJsonAsync>(_serializerOptions); - Assert.True(decks != null); + Assert.NotNull(decks); var deck = decks[0]; string deckId = deck.Id; @@ -314,8 +314,8 @@ public async Task UpdateDefaultLocalizationPoseOnDeck() var putResponse = await _client.PutAsync(url, content); Assert.True(putResponse.IsSuccessStatusCode); var putDeck = await putResponse.Content.ReadFromJsonAsync(_serializerOptions); - Assert.True(putDeck != null); - Assert.True(putDeck.DefaultLocalizationPose != null); + Assert.NotNull(putDeck); + Assert.NotNull(putDeck.DefaultLocalizationPose); Assert.True(putDeck.DefaultLocalizationPose.Position.Z.Equals(query.Pose.Position.Z)); Assert.True(putDeck.DefaultLocalizationPose.Orientation.W.Equals(query.Pose.Orientation.W)); } diff --git a/backend/api.test/Client/MissionTests.cs b/backend/api.test/Client/MissionTests.cs index c509a4211..3a4f261e7 100644 --- a/backend/api.test/Client/MissionTests.cs +++ b/backend/api.test/Client/MissionTests.cs @@ -63,7 +63,7 @@ private async Task PostToDb(string postUrl, TQueryType stringC var installationResponse = await _client.GetAsync(installationUrl); Assert.True(installationResponse.IsSuccessStatusCode); var installationResponses = await installationResponse.Content.ReadFromJsonAsync>(_serializerOptions); - Assert.True(installationResponses != null); + Assert.NotNull(installationResponses); return installationResponses.Where((i) => i.InstallationCode.Equals(installationCode, StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); } @@ -73,14 +73,14 @@ private async Task PostToDb(string postUrl, TQueryType stringC var installationResponse = await _client.GetAsync(installationUrl); Assert.True(installationResponse.IsSuccessStatusCode); var installationResponses = await installationResponse.Content.ReadFromJsonAsync>(_serializerOptions); - Assert.True(installationResponses != null); + Assert.NotNull(installationResponses); if (!installationResponses.Where((i) => i.InstallationCode.Equals(installationCode, StringComparison.OrdinalIgnoreCase)).Any()) return null; string plantUrl = "/plants"; var plantResponse = await _client.GetAsync(plantUrl); Assert.True(plantResponse.IsSuccessStatusCode); var plantResponses = await plantResponse.Content.ReadFromJsonAsync>(_serializerOptions); - Assert.True(plantResponses != null); + Assert.NotNull(plantResponses); return plantResponses.Where((p) => p.PlantCode.Equals(plantCode, StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); } @@ -90,21 +90,21 @@ private async Task PostToDb(string postUrl, TQueryType stringC var installationResponse = await _client.GetAsync(installationUrl); Assert.True(installationResponse.IsSuccessStatusCode); var installationResponses = await installationResponse.Content.ReadFromJsonAsync>(_serializerOptions); - Assert.True(installationResponses != null); + Assert.NotNull(installationResponses); if (!installationResponses.Where((i) => i.InstallationCode.Equals(installationCode.ToLower(CultureInfo.CurrentCulture), StringComparison.OrdinalIgnoreCase)).Any()) return null; string plantUrl = "/plants"; var plantResponse = await _client.GetAsync(plantUrl); Assert.True(plantResponse.IsSuccessStatusCode); var plantResponses = await plantResponse.Content.ReadFromJsonAsync>(_serializerOptions); - Assert.True(plantResponses != null); + Assert.NotNull(plantResponses); if (!plantResponses.Where((p) => p.PlantCode.Equals(plantCode.ToLower(CultureInfo.CurrentCulture), StringComparison.OrdinalIgnoreCase)).Any()) return null; string deckUrl = "/decks"; var deckResponse = await _client.GetAsync(deckUrl); Assert.True(deckResponse.IsSuccessStatusCode); var deckResponses = await deckResponse.Content.ReadFromJsonAsync>(_serializerOptions); - Assert.True(deckResponses != null); + Assert.NotNull(deckResponses); return deckResponses.Where((d) => d.DeckName.Equals(deckName.ToLower(CultureInfo.CurrentCulture), StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); } @@ -114,7 +114,7 @@ private async Task VerifyNonDuplicateAreaDbNames(string areaName) var areaResponse = await _client.GetAsync(areaUrl); Assert.True(areaResponse.IsSuccessStatusCode); var areaResponses = await areaResponse.Content.ReadFromJsonAsync>(_serializerOptions); - Assert.True(areaResponses != null); + Assert.NotNull(areaResponses); Assert.False(areaResponses.Where((a) => a.AreaName == areaName).Any(), $"Duplicate area name detected: {areaName}"); } @@ -124,7 +124,7 @@ private async Task VerifyNonDuplicateInstallationDbName(string installationCode) var installationResponse = await _client.GetAsync(installationUrl); Assert.True(installationResponse.IsSuccessStatusCode); var installationResponses = await installationResponse.Content.ReadFromJsonAsync>(_serializerOptions); - Assert.True(installationResponses != null); + Assert.NotNull(installationResponses); Assert.False(installationResponses.Where((i) => i.InstallationCode == installationCode).Any(), $"Duplicate installation name detected: {installationCode}"); } @@ -269,7 +269,7 @@ public async Task ScheduleOneEchoMissionTest() var response = await _client.GetAsync(robotUrl); Assert.True(response.IsSuccessStatusCode, $"Failed to get robot from path: {robotUrl}, with status code {response.StatusCode}"); var robots = await response.Content.ReadFromJsonAsync>(_serializerOptions); - Assert.True(robots != null); + Assert.NotNull(robots); var robot = robots.Where(robot => robot.Name == "Shockwave").First(); string robotId = robot.Id; @@ -302,9 +302,9 @@ public async Task ScheduleOneEchoMissionTest() // Assert Assert.True(response.IsSuccessStatusCode); var missionRun = await response.Content.ReadFromJsonAsync(_serializerOptions); - Assert.True(missionRun != null); - Assert.True(missionRun.Id != null); - Assert.True(missionRun.Status == MissionStatus.Pending); + Assert.NotNull(missionRun); + Assert.NotNull(missionRun.Id); + Assert.Equal(MissionStatus.Pending, missionRun.Status); } [Fact] @@ -316,7 +316,7 @@ public async Task Schedule3EchoMissionsTest() var robotResponse = await _client.GetAsync(robotUrl); Assert.True(robotResponse.IsSuccessStatusCode); var robots = await robotResponse.Content.ReadFromJsonAsync>(_serializerOptions); - Assert.True(robots != null); + Assert.NotNull(robots); var robot = robots.Where(robot => robot.Name == "Shockwave").First(); string robotId = robot.Id; @@ -351,7 +351,7 @@ public async Task Schedule3EchoMissionsTest() _serializerOptions ); Assert.True(response.IsSuccessStatusCode); - Assert.True(missionRuns != null); + Assert.NotNull(missionRuns); int missionRunsBefore = missionRuns.Count; response = await _client.PostAsync(missionsUrl, content); @@ -362,17 +362,17 @@ public async Task Schedule3EchoMissionsTest() response = await _client.PostAsync(missionsUrl, content); var missionRun1 = await response.Content.ReadFromJsonAsync(_serializerOptions); Assert.True(response.IsSuccessStatusCode); - Assert.True(missionRun1 != null); + Assert.NotNull(missionRun1); response = await _client.PostAsync(missionsUrl, content); var missionRun2 = await response.Content.ReadFromJsonAsync(_serializerOptions); Assert.True(response.IsSuccessStatusCode); - Assert.True(missionRun2 != null); + Assert.NotNull(missionRun2); response = await _client.PostAsync(missionsUrl, content); var missionRun3 = await response.Content.ReadFromJsonAsync(_serializerOptions); Assert.True(response.IsSuccessStatusCode); - Assert.True(missionRun3 != null); + Assert.NotNull(missionRun3); response = await _client.GetAsync(urlMissionRuns); missionRuns = await response.Content.ReadFromJsonAsync>( @@ -381,10 +381,10 @@ public async Task Schedule3EchoMissionsTest() // Assert Assert.True(response.IsSuccessStatusCode); - Assert.True(missionRuns != null); - Assert.True(missionRuns.Where((m) => m.Id == missionRun1.Id).ToList().Count == 1); - Assert.True(missionRuns.Where((m) => m.Id == missionRun2.Id).ToList().Count == 1); - Assert.True(missionRuns.Where((m) => m.Id == missionRun3.Id).ToList().Count == 1); + Assert.NotNull(missionRuns); + Assert.Single(missionRuns.Where((m) => m.Id == missionRun1.Id).ToList()); + Assert.Single(missionRuns.Where((m) => m.Id == missionRun2.Id).ToList()); + Assert.Single(missionRuns.Where((m) => m.Id == missionRun3.Id).ToList()); } [Fact] @@ -521,7 +521,7 @@ public async Task ScheduleDuplicateCustomMissionDefinitions() var missionDefinitionsResponse = await _client.GetAsync(missionDefinitionsUrl); var missionDefinitions = await missionDefinitionsResponse.Content.ReadFromJsonAsync>(_serializerOptions); Assert.NotNull(missionDefinitions); - Assert.True(missionDefinitions.Where(m => m.Id == missionId1).Count() == 1); + Assert.Single(missionDefinitions.Where(m => m.Id == missionId1)); } [Fact] @@ -583,10 +583,10 @@ public async Task GetNextRun() var response = await _client.PostAsync(customMissionsUrl, content); Assert.True(response.IsSuccessStatusCode); var missionRun = await response.Content.ReadFromJsonAsync(_serializerOptions); - Assert.True(missionRun != null); - Assert.True(missionRun.MissionId != null); - Assert.True(missionRun.Id != null); - Assert.True(missionRun.Status == MissionStatus.Pending); + Assert.NotNull(missionRun); + Assert.NotNull(missionRun.MissionId); + Assert.NotNull(missionRun.Id); + Assert.Equal(MissionStatus.Pending, missionRun.Status); // Arrange - Schedule missions from mission definition var scheduleQuery1 = new ScheduleMissionQuery @@ -659,7 +659,7 @@ public async Task ScheduleDuplicateEchoMissionDefinitions() var response = await _client.GetAsync(robotUrl); Assert.True(response.IsSuccessStatusCode); var robots = await response.Content.ReadFromJsonAsync>(_serializerOptions); - Assert.True(robots != null); + Assert.NotNull(robots); var robot = robots.Where(robot => robot.Name == "Shockwave").First(); string robotId = robot.Id; int echoMissionId = 1; // Corresponds to mock in EchoServiceMock.cs @@ -770,7 +770,7 @@ public async Task MissionDoesNotStartIfRobotIsNotInSameInstallationAsMission() // Act string customMissionsUrl = "/missions/custom"; var response = await _client.PostAsync(customMissionsUrl, content); - Assert.True(response.StatusCode == HttpStatusCode.Conflict); + Assert.Equal(HttpStatusCode.Conflict, response.StatusCode); } [Fact] @@ -844,7 +844,7 @@ public async Task MissionFailsIfRobotIsNotInSameDeckAsMission() Assert.True(missionResponse.IsSuccessStatusCode); var missionRun = await missionResponse.Content.ReadFromJsonAsync(_serializerOptions); Assert.NotNull(missionRun); - Assert.True(missionRun.Status == MissionStatus.Pending); + Assert.Equal(MissionStatus.Pending, missionRun.Status); await Task.Delay(2000); string missionRunByIdUrl = $"/missions/runs/{missionRun.Id}"; @@ -852,7 +852,7 @@ public async Task MissionFailsIfRobotIsNotInSameDeckAsMission() Assert.True(missionByIdResponse.IsSuccessStatusCode); var missionRunAfterUpdate = await missionByIdResponse.Content.ReadFromJsonAsync(_serializerOptions); Assert.NotNull(missionRunAfterUpdate); - Assert.True(missionRunAfterUpdate.Status == MissionStatus.Aborted); + Assert.Equal(MissionStatus.Aborted, missionRunAfterUpdate.Status); } } } diff --git a/backend/api.test/Client/RobotTests.cs b/backend/api.test/Client/RobotTests.cs index 31cfda0cc..c58866150 100644 --- a/backend/api.test/Client/RobotTests.cs +++ b/backend/api.test/Client/RobotTests.cs @@ -47,7 +47,7 @@ public async Task RobotsTest() var response = await _client.GetAsync(url); var robots = await response.Content.ReadFromJsonAsync>(_serializerOptions); Assert.True(response.IsSuccessStatusCode); - Assert.True(robots != null); + Assert.NotNull(robots); } [Fact] @@ -85,7 +85,7 @@ public async Task RobotIsNotCreatedWithAreaNotInInstallation() var areaResponse = await _client.GetAsync(areaUrl); Assert.True(areaResponse.IsSuccessStatusCode); var areas = await areaResponse.Content.ReadFromJsonAsync>(_serializerOptions); - Assert.True(areas != null); + Assert.NotNull(areas); var area = areas[0]; // Installation @@ -106,7 +106,7 @@ public async Task RobotIsNotCreatedWithAreaNotInInstallation() var installationResponse = await _client.PostAsync(installationUrl, installationContent); Assert.True(installationResponse.IsSuccessStatusCode); var wrongInstallation = await installationResponse.Content.ReadFromJsonAsync(_serializerOptions); - Assert.True(wrongInstallation != null); + Assert.NotNull(wrongInstallation); // Arrange - Create robot var robotQuery = new CreateRobotQuery diff --git a/backend/api.test/Client/RoleAccessTests.cs b/backend/api.test/Client/RoleAccessTests.cs index 33d9344cc..55df096d3 100644 --- a/backend/api.test/Client/RoleAccessTests.cs +++ b/backend/api.test/Client/RoleAccessTests.cs @@ -121,7 +121,7 @@ public async Task AuthorisedGetPlantTest_NotFound() Assert.True(plantResponse.IsSuccessStatusCode); var plant = await plantResponse.Content.ReadFromJsonAsync(_serializerOptions); - Assert.True(plant != null); + Assert.NotNull(plant); // Act string getPlantUrl = $"/plants/{plant.Id}"; @@ -244,7 +244,7 @@ public async Task ExplicitlyAuthorisedPostInstallationPlantDeckAndAreaTest() Assert.True(deckResponse.IsSuccessStatusCode); Assert.True(areaResponse.IsSuccessStatusCode); var area = await areaResponse.Content.ReadFromJsonAsync(_serializerOptions); - Assert.True(area != null); + Assert.NotNull(area); // Act string getAreaUrl = $"/areas/{area.Id}"; @@ -253,7 +253,7 @@ public async Task ExplicitlyAuthorisedPostInstallationPlantDeckAndAreaTest() // Assert Assert.True(sameAreaResponse.IsSuccessStatusCode); var sameArea = await sameAreaResponse.Content.ReadFromJsonAsync(_serializerOptions); - Assert.True(sameArea != null); + Assert.NotNull(sameArea); Assert.Equal(sameArea.Id, area.Id); } @@ -351,7 +351,7 @@ public async Task AdminAuthorisedPostInstallationPlantDeckAndAreaTest() Assert.True(deckResponse.IsSuccessStatusCode); Assert.True(areaResponse.IsSuccessStatusCode); var area = await areaResponse.Content.ReadFromJsonAsync(_serializerOptions); - Assert.True(area != null); + Assert.NotNull(area); } } } diff --git a/backend/api.test/EventHandlers/TestMissionEventHandler.cs b/backend/api.test/EventHandlers/TestMissionEventHandler.cs index 2e0156d72..5e7cafd68 100644 --- a/backend/api.test/EventHandlers/TestMissionEventHandler.cs +++ b/backend/api.test/EventHandlers/TestMissionEventHandler.cs @@ -1,6 +1,7 @@ using System; using System.Linq; using System.Threading; +using System.Threading.Tasks; using Api.Controllers.Models; using Api.Database.Context; using Api.Database.Models; @@ -146,7 +147,7 @@ public void Dispose() } [Fact] - public async void ScheduledMissionStartedWhenSystemIsAvailable() + public async Task ScheduledMissionStartedWhenSystemIsAvailable() { // Arrange var installation = await _databaseUtilities.NewInstallation(); @@ -166,7 +167,7 @@ public async void ScheduledMissionStartedWhenSystemIsAvailable() } [Fact] - public async void SecondScheduledMissionQueuedIfRobotIsBusy() + public async Task SecondScheduledMissionQueuedIfRobotIsBusy() { // Arrange var installation = await _databaseUtilities.NewInstallation(); @@ -192,7 +193,7 @@ public async void SecondScheduledMissionQueuedIfRobotIsBusy() #pragma warning disable xUnit1004 [Fact(Skip = "Skipping until a solution has been found for ExecuteUpdate in tests")] #pragma warning restore xUnit1004 - public async void NewMissionIsStartedWhenRobotBecomesAvailable() + public async Task NewMissionIsStartedWhenRobotBecomesAvailable() { // Arrange var installation = await _databaseUtilities.NewInstallation(); @@ -224,7 +225,7 @@ public async void NewMissionIsStartedWhenRobotBecomesAvailable() } [Fact] - public async void ReturnToHomeMissionIsStartedIfQueueIsEmptyWhenRobotBecomesAvailable() + public async Task ReturnToHomeMissionIsStartedIfQueueIsEmptyWhenRobotBecomesAvailable() { // Arrange var installation = await _databaseUtilities.NewInstallation(); @@ -260,7 +261,7 @@ public async void ReturnToHomeMissionIsStartedIfQueueIsEmptyWhenRobotBecomesAvai } [Fact] - public async void MissionRunIsStartedForOtherAvailableRobotIfOneRobotHasAnOngoingMissionRun() + public async Task MissionRunIsStartedForOtherAvailableRobotIfOneRobotHasAnOngoingMissionRun() { // Arrange var installation = await _databaseUtilities.NewInstallation(); @@ -292,7 +293,7 @@ public async void MissionRunIsStartedForOtherAvailableRobotIfOneRobotHasAnOngoin } [Fact] - public async void QueuedMissionsAreAbortedWhenLocalizationFails() + public async Task QueuedMissionsAreAbortedWhenLocalizationFails() { // Arrange var installation = await _databaseUtilities.NewInstallation(); @@ -300,7 +301,7 @@ public async void QueuedMissionsAreAbortedWhenLocalizationFails() var deck = await _databaseUtilities.NewDeck(installation.InstallationCode, plant.PlantCode); var area = await _databaseUtilities.NewArea(installation.InstallationCode, plant.PlantCode, deck.Name); var robot = await _databaseUtilities.NewRobot(RobotStatus.Available, installation, area); - var localizationMissionRun = await _databaseUtilities.NewMissionRun(installation.InstallationCode, robot, area, true, MissionRunType.Localization, MissionStatus.Ongoing, Guid.NewGuid().ToString(), TaskStatus.Failed); + var localizationMissionRun = await _databaseUtilities.NewMissionRun(installation.InstallationCode, robot, area, true, MissionRunType.Localization, MissionStatus.Ongoing, Guid.NewGuid().ToString(), Api.Database.Models.TaskStatus.Failed); var missionRun1 = await _databaseUtilities.NewMissionRun(installation.InstallationCode, robot, area, true); Thread.Sleep(100); @@ -325,7 +326,7 @@ public async void QueuedMissionsAreAbortedWhenLocalizationFails() } [Fact] - public async void QueuedMissionsAreNotAbortedWhenRobotAvailableHappensAtTheSameTimeAsOnIsarMissionCompleted() + public async Task QueuedMissionsAreNotAbortedWhenRobotAvailableHappensAtTheSameTimeAsOnIsarMissionCompleted() { // Arrange var installation = await _databaseUtilities.NewInstallation(); @@ -368,7 +369,7 @@ public async void QueuedMissionsAreNotAbortedWhenRobotAvailableHappensAtTheSameT } [Fact] - public async void QueuedContinuesWhenOnIsarStatusHappensAtTheSameTimeAsOnIsarMissionCompleted() + public async Task QueuedContinuesWhenOnIsarStatusHappensAtTheSameTimeAsOnIsarMissionCompleted() { // Arrange var installation = await _databaseUtilities.NewInstallation(); @@ -411,13 +412,13 @@ public async void QueuedContinuesWhenOnIsarStatusHappensAtTheSameTimeAsOnIsarMis // Assert var postTestMissionRun1 = await _missionRunService.ReadById(missionRun1.Id); Assert.Equal(MissionRunType.Localization, postTestMissionRun1!.MissionRunType); - Assert.Equal(TaskStatus.Successful, postTestMissionRun1!.Tasks[0].Status); + Assert.Equal(Api.Database.Models.TaskStatus.Successful, postTestMissionRun1!.Tasks[0].Status); var postTestMissionRun2 = await _missionRunService.ReadById(missionRun2.Id); Assert.Equal(MissionStatus.Ongoing, postTestMissionRun2!.Status); } [Fact] - public async void LocalizationMissionCompletesAfterPressingSendToSafeZoneButton() + public async Task LocalizationMissionCompletesAfterPressingSendToSafeZoneButton() { // Arrange var installation = await _databaseUtilities.NewInstallation(); @@ -435,7 +436,7 @@ public async void LocalizationMissionCompletesAfterPressingSendToSafeZoneButton( Thread.Sleep(1000); - // Assert + // Assert var updatedRobot = await _robotService.ReadById(robot.Id); Assert.True(updatedRobot?.MissionQueueFrozen); @@ -444,7 +445,7 @@ public async void LocalizationMissionCompletesAfterPressingSendToSafeZoneButton( } [Fact] - public async void ReturnHomeMissionNotScheduledIfRobotIsNotLocalized() + public async Task ReturnHomeMissionNotScheduledIfRobotIsNotLocalized() { // Arrange var installation = await _databaseUtilities.NewInstallation(); @@ -458,7 +459,7 @@ public async void ReturnHomeMissionNotScheduledIfRobotIsNotLocalized() Thread.Sleep(100); - // Assert + // Assert bool isRobotLocalized = await _localizationService.RobotIsLocalized(robot.Id); Assert.False(isRobotLocalized); Assert.False(await _missionRunService.PendingOrOngoingReturnToHomeMissionRunExists(robot.Id)); @@ -466,7 +467,7 @@ public async void ReturnHomeMissionNotScheduledIfRobotIsNotLocalized() } [Fact] - public async void ReturnHomeMissionCancelledIfNewMissionScheduled() + public async Task ReturnHomeMissionCancelledIfNewMissionScheduled() { // Arrange var installation = await _databaseUtilities.NewInstallation(); @@ -485,14 +486,14 @@ public async void ReturnHomeMissionCancelledIfNewMissionScheduled() Thread.Sleep(500); - // Assert + // Assert var updatedReturnHomeMission = await _missionRunService.ReadById(returnToHomeMission.Id); Assert.True(updatedReturnHomeMission?.Status.Equals(MissionStatus.Cancelled)); - Assert.True(updatedReturnHomeMission?.Tasks.FirstOrDefault()?.Status.Equals(TaskStatus.Cancelled)); + Assert.True(updatedReturnHomeMission?.Tasks.FirstOrDefault()?.Status.Equals(Api.Database.Models.TaskStatus.Cancelled)); } [Fact] - public async void ReturnHomeMissionNotCancelledIfNewMissionScheduledInDifferentDeck() + public async Task ReturnHomeMissionNotCancelledIfNewMissionScheduledInDifferentDeck() { // Arrange var installation = await _databaseUtilities.NewInstallation(); @@ -513,7 +514,7 @@ public async void ReturnHomeMissionNotCancelledIfNewMissionScheduledInDifferentD Thread.Sleep(500); - // Assert + // Assert var updatedReturnHomeMission = await _missionRunService.ReadById(returnToHomeMission.Id); Assert.True(updatedReturnHomeMission?.Status.Equals(MissionStatus.Ongoing)); } diff --git a/backend/api.test/api.test.csproj b/backend/api.test/api.test.csproj index 1d256fba4..42f0eb2cb 100644 --- a/backend/api.test/api.test.csproj +++ b/backend/api.test/api.test.csproj @@ -10,15 +10,15 @@ - - + + - - + + all runtime; build; native; contentfiles; analyzers - + runtime; build; native; contentfiles; analyzers; buildtransitive all diff --git a/backend/api/EventHandlers/MqttEventHandler.cs b/backend/api/EventHandlers/MqttEventHandler.cs index 77b5244d6..ea37de6c0 100644 --- a/backend/api/EventHandlers/MqttEventHandler.cs +++ b/backend/api/EventHandlers/MqttEventHandler.cs @@ -10,7 +10,6 @@ using Api.Services.Models; using Api.Utilities; using Microsoft.EntityFrameworkCore; -using Microsoft.IdentityModel.Tokens; namespace Api.EventHandlers { @@ -175,7 +174,7 @@ private async void OnIsarRobotInfo(object? sender, MqttReceivedArgs mqttArgs) if (isarRobotInfo.CurrentInstallation is not null) UpdateCurrentInstallationIfChanged(installation, ref robot, ref updatedFields); if (isarRobotInfo.Capabilities is not null) UpdateRobotCapabilitiesIfChanged(isarRobotInfo.Capabilities, ref robot, ref updatedFields); - if (updatedFields.IsNullOrEmpty()) return; + if (updatedFields.Count < 1) return; robot = await RobotService.Update(robot); diff --git a/backend/api/Services/EchoService.cs b/backend/api/Services/EchoService.cs index fcaea2a0a..32d001fa9 100644 --- a/backend/api/Services/EchoService.cs +++ b/backend/api/Services/EchoService.cs @@ -3,7 +3,6 @@ using Api.Database.Models; using Api.Utilities; using Microsoft.Identity.Abstractions; -using Microsoft.IdentityModel.Tokens; namespace Api.Services { public interface IEchoService @@ -121,7 +120,7 @@ private static List ProcessPlanItems(List planItems, string i .Select(sensor => new EchoInspection(sensor, planItem.InspectionPoint.EnuPosition.ToPosition())).Distinct(new EchoInspectionComparer()).ToList() }; - if (tag.Inspections.IsNullOrEmpty()) + if (tag.Inspections.Count < 1) { tag.Inspections.Add(new EchoInspection()); } diff --git a/backend/api/Services/RobotModelService.cs b/backend/api/Services/RobotModelService.cs index 0477f5e52..98493eb23 100644 --- a/backend/api/Services/RobotModelService.cs +++ b/backend/api/Services/RobotModelService.cs @@ -1,7 +1,6 @@ using Api.Database.Context; using Api.Database.Models; using Microsoft.EntityFrameworkCore; -using Microsoft.IdentityModel.Tokens; namespace Api.Services { @@ -33,7 +32,7 @@ public RobotModelService(FlotillaDbContext context) { _context = context; - if (ReadAll().Result.IsNullOrEmpty()) + if (!ReadAll().Result.Any()) { // If no models in database, add default ones // Robot models are essentially database enums and should just be added to all databases diff --git a/backend/api/api.csproj b/backend/api/api.csproj index ea1cca78e..543ce83ba 100644 --- a/backend/api/api.csproj +++ b/backend/api/api.csproj @@ -13,25 +13,25 @@ - - - - - + + + + + all runtime; build; native; contentfiles; analyzers - - - - - - - - - - + + + + + + + + + +