diff --git a/test/ClinicalScheduler/ClinicalSchedulerTestBase.cs b/test/ClinicalScheduler/ClinicalSchedulerTestBase.cs
index 9040a39fd..3c9bafffa 100644
--- a/test/ClinicalScheduler/ClinicalSchedulerTestBase.cs
+++ b/test/ClinicalScheduler/ClinicalSchedulerTestBase.cs
@@ -1,6 +1,7 @@
using Microsoft.EntityFrameworkCore;
using MockQueryable.NSubstitute;
using NSubstitute;
+using NSubstitute.ReturnsExtensions;
using Viper.Areas.ClinicalScheduler.Services;
using Viper.Classes.SQLContext;
using Viper.Models.ClinicalScheduler;
@@ -227,7 +228,7 @@ protected void SetupUserWithoutManagePermission(string userMothraId = TestUserMo
///
protected void SetupNullUser()
{
- MockUserHelper.GetCurrentUser().Returns((AaudUser?)null);
+ MockUserHelper.GetCurrentUser().ReturnsNull();
}
///
@@ -239,7 +240,7 @@ protected void SetupUserWithPermissions(string? userMothraId, IEnumerable
protected void SetupNullUser()
{
- MockUserHelper.GetCurrentUser().Returns((AaudUser?)null);
+ MockUserHelper.GetCurrentUser().ReturnsNull();
}
public void Dispose()
diff --git a/test/Effort/CourseRelationshipsControllerTests.cs b/test/Effort/CourseRelationshipsControllerTests.cs
index db9e26fec..281668ea6 100644
--- a/test/Effort/CourseRelationshipsControllerTests.cs
+++ b/test/Effort/CourseRelationshipsControllerTests.cs
@@ -4,6 +4,7 @@
using Microsoft.Extensions.Logging;
using NSubstitute;
using NSubstitute.ExceptionExtensions;
+using NSubstitute.ReturnsExtensions;
using Viper.Areas.Effort.Controllers;
using Viper.Areas.Effort.Models.DTOs.Requests;
using Viper.Areas.Effort.Models.DTOs.Responses;
@@ -102,7 +103,7 @@ public async Task GetRelationships_ReturnsOk_WithRelationships()
public async Task GetRelationships_ReturnsNotFound_WhenCourseNotFound()
{
// Arrange
- _courseServiceMock.GetCourseAsync(999, Arg.Any()).Returns((CourseDto?)null);
+ _courseServiceMock.GetCourseAsync(999, Arg.Any()).ReturnsNull();
// Act
var actionResult = await _controller.GetRelationships(999);
@@ -439,7 +440,7 @@ public async Task DeleteRelationship_ReturnsNoContent_OnSuccess()
public async Task DeleteRelationship_ReturnsNotFound_WhenRelationshipNotFound()
{
// Arrange
- _relationshipServiceMock.GetRelationshipAsync(999, Arg.Any()).Returns((CourseRelationshipDto?)null);
+ _relationshipServiceMock.GetRelationshipAsync(999, Arg.Any()).ReturnsNull();
// Act
var actionResult = await _controller.DeleteRelationship(1, 999);
diff --git a/test/Effort/CoursesControllerTests.cs b/test/Effort/CoursesControllerTests.cs
index cc8149447..07df82ec9 100644
--- a/test/Effort/CoursesControllerTests.cs
+++ b/test/Effort/CoursesControllerTests.cs
@@ -4,6 +4,7 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using NSubstitute;
+using NSubstitute.ReturnsExtensions;
using NSubstitute.ExceptionExtensions;
using Viper.Areas.Effort.Controllers;
using Viper.Areas.Effort.Models.DTOs.Requests;
@@ -149,7 +150,7 @@ public async Task GetCourse_ReturnsOk_WhenCourseExists()
public async Task GetCourse_ReturnsNotFound_WhenCourseDoesNotExist()
{
// Arrange
- _courseServiceMock.GetCourseAsync(999, Arg.Any()).Returns((CourseDto?)null);
+ _courseServiceMock.GetCourseAsync(999, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.GetCourse(999);
@@ -402,7 +403,7 @@ public async Task UpdateCourse_ReturnsNotFound_WhenCourseDoesNotExist()
CustDept = "VME"
};
- _courseServiceMock.GetCourseAsync(999, Arg.Any()).Returns((CourseDto?)null);
+ _courseServiceMock.GetCourseAsync(999, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.UpdateCourse(999, request);
@@ -493,7 +494,7 @@ public async Task UpdateCourseEnrollment_ReturnsNotFound_WhenCourseDoesNotExist(
// Arrange
var request = new UpdateEnrollmentRequest { Enrollment = 50 };
- _courseServiceMock.GetCourseAsync(999, Arg.Any()).Returns((CourseDto?)null);
+ _courseServiceMock.GetCourseAsync(999, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.UpdateCourseEnrollment(999, request);
@@ -546,7 +547,7 @@ public async Task DeleteCourse_ReturnsNoContent_OnSuccess()
public async Task DeleteCourse_ReturnsNotFound_WhenCourseDoesNotExist()
{
// Arrange
- _courseServiceMock.GetCourseAsync(999, Arg.Any()).Returns((CourseDto?)null);
+ _courseServiceMock.GetCourseAsync(999, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.DeleteCourse(999);
@@ -712,7 +713,7 @@ public async Task ImportCourse_ReturnsNotFound_WhenBannerCourseNotFound()
Crn = "99999"
};
- _courseServiceMock.GetBannerCourseAsync(202410, "99999", Arg.Any()).Returns((BannerCourseDto?)null);
+ _courseServiceMock.GetBannerCourseAsync(202410, "99999", Arg.Any()).ReturnsNull();
// Act
var result = await _controller.ImportCourse(request);
@@ -852,7 +853,7 @@ public async Task GetCourseEffort_ReturnsCanAddEffortFalse_WhenTermNotEditable()
public async Task GetCourseEffort_ReturnsNotFound_WhenCourseNotFound()
{
// Arrange
- _courseServiceMock.GetCourseAsync(TestCourseId, Arg.Any()).Returns((CourseDto?)null);
+ _courseServiceMock.GetCourseAsync(TestCourseId, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.GetCourseEffort(TestCourseId);
@@ -940,7 +941,7 @@ public async Task GetPossibleInstructors_ReturnsOk_WhenAuthorized()
public async Task GetPossibleInstructors_ReturnsNotFound_WhenCourseNotFound()
{
// Arrange
- _courseServiceMock.GetCourseAsync(TestCourseId, Arg.Any()).Returns((CourseDto?)null);
+ _courseServiceMock.GetCourseAsync(TestCourseId, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.GetPossibleInstructors(TestCourseId);
@@ -995,7 +996,7 @@ public async Task GetCourseEvaluations_ReturnsOk_WhenAuthorized()
public async Task GetCourseEvaluations_ReturnsNotFound_WhenCourseNotFound()
{
// Arrange
- _courseServiceMock.GetCourseAsync(TestCourseId, Arg.Any()).Returns((CourseDto?)null);
+ _courseServiceMock.GetCourseAsync(TestCourseId, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.GetCourseEvaluations(TestCourseId);
@@ -1090,7 +1091,7 @@ await _evalHarvestServiceMock.Received(1).CreateAdHocEvaluationAsync(
public async Task CreateEvaluation_ReturnsNotFound_WhenCourseNotFound()
{
// Arrange
- _courseServiceMock.GetCourseAsync(TestCourseId, Arg.Any()).Returns((CourseDto?)null);
+ _courseServiceMock.GetCourseAsync(TestCourseId, Arg.Any()).ReturnsNull();
var request = new CreateAdHocEvalRequest
{
@@ -1201,7 +1202,7 @@ public async Task UpdateEvaluation_ReturnsOk_WhenSuccessful()
public async Task UpdateEvaluation_ReturnsNotFound_WhenCourseNotFound()
{
// Arrange
- _courseServiceMock.GetCourseAsync(TestCourseId, Arg.Any()).Returns((CourseDto?)null);
+ _courseServiceMock.GetCourseAsync(TestCourseId, Arg.Any()).ReturnsNull();
var request = new UpdateAdHocEvalRequest
{
@@ -1294,7 +1295,7 @@ public async Task DeleteEvaluation_ReturnsNoContent_WhenSuccessful()
public async Task DeleteEvaluation_ReturnsNotFound_WhenCourseNotFound()
{
// Arrange
- _courseServiceMock.GetCourseAsync(TestCourseId, Arg.Any()).Returns((CourseDto?)null);
+ _courseServiceMock.GetCourseAsync(TestCourseId, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.DeleteEvaluation(TestCourseId, TestQuantId);
diff --git a/test/Effort/EffortIntegrationTestBase.cs b/test/Effort/EffortIntegrationTestBase.cs
index 8d5e3687a..0f544841f 100644
--- a/test/Effort/EffortIntegrationTestBase.cs
+++ b/test/Effort/EffortIntegrationTestBase.cs
@@ -5,6 +5,7 @@
using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.DependencyInjection;
using NSubstitute;
+using NSubstitute.ReturnsExtensions;
using Viper.Areas.Effort;
using Viper.Areas.Effort.Constants;
using Viper.Areas.Effort.Models.Entities;
@@ -339,7 +340,7 @@ protected void SetupUserWithNoPermissions()
///
protected void SetupNullUser()
{
- MockUserHelper.GetCurrentUser().Returns((AaudUser?)null);
+ MockUserHelper.GetCurrentUser().ReturnsNull();
}
///
@@ -349,7 +350,7 @@ protected void SetupUserWithPermissionsForIntegration(string? userMothraId, IEnu
{
if (userMothraId == null)
{
- MockUserHelper.GetCurrentUser().Returns((AaudUser?)null);
+ MockUserHelper.GetCurrentUser().ReturnsNull();
return;
}
diff --git a/test/Effort/EffortRecordsControllerTests.cs b/test/Effort/EffortRecordsControllerTests.cs
index 30d582eff..d57a546e8 100644
--- a/test/Effort/EffortRecordsControllerTests.cs
+++ b/test/Effort/EffortRecordsControllerTests.cs
@@ -4,6 +4,7 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using NSubstitute;
+using NSubstitute.ReturnsExtensions;
using NSubstitute.ExceptionExtensions;
using Viper.Areas.Effort.Controllers;
using Viper.Areas.Effort.Exceptions;
@@ -100,7 +101,7 @@ public async Task GetRecord_ReturnsOk_WhenRecordExistsAndAuthorized()
public async Task GetRecord_ReturnsNotFound_WhenRecordDoesNotExist()
{
// Arrange
- _recordServiceMock.GetEffortRecordAsync(999, Arg.Any()).Returns((InstructorEffortRecordDto?)null);
+ _recordServiceMock.GetEffortRecordAsync(999, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.GetRecord(999);
@@ -270,7 +271,7 @@ public async Task UpdateRecord_ReturnsNotFound_WhenRecordDoesNotExist()
EffortValue = 30
};
- _recordServiceMock.GetEffortRecordAsync(999, Arg.Any()).Returns((InstructorEffortRecordDto?)null);
+ _recordServiceMock.GetEffortRecordAsync(999, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.UpdateRecord(999, request);
@@ -353,7 +354,7 @@ public async Task DeleteRecord_ReturnsNoContent_WhenSuccessful()
public async Task DeleteRecord_ReturnsNotFound_WhenRecordDoesNotExist()
{
// Arrange
- _recordServiceMock.GetEffortRecordAsync(999, Arg.Any()).Returns((InstructorEffortRecordDto?)null);
+ _recordServiceMock.GetEffortRecordAsync(999, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.DeleteRecord(999, null);
diff --git a/test/Effort/EffortTypesControllerTests.cs b/test/Effort/EffortTypesControllerTests.cs
index a243f3156..20dac1a24 100644
--- a/test/Effort/EffortTypesControllerTests.cs
+++ b/test/Effort/EffortTypesControllerTests.cs
@@ -4,6 +4,7 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using NSubstitute;
+using NSubstitute.ReturnsExtensions;
using NSubstitute.ExceptionExtensions;
using Viper.Areas.Effort.Controllers;
using Viper.Areas.Effort.Models.DTOs.Requests;
@@ -111,7 +112,7 @@ public async Task GetEffortType_ReturnsOk_WhenFound()
public async Task GetEffortType_ReturnsNotFound_WhenMissing()
{
// Arrange
- _effortTypeServiceMock.GetEffortTypeAsync("XXX", Arg.Any()).Returns((EffortTypeDto?)null);
+ _effortTypeServiceMock.GetEffortTypeAsync("XXX", Arg.Any()).ReturnsNull();
// Act
var result = await _controller.GetEffortType("XXX", CancellationToken.None);
@@ -217,7 +218,7 @@ public async Task UpdateEffortType_ReturnsNotFound_WhenMissing()
AllowedOn199299 = false,
AllowedOnRCourses = false
};
- _effortTypeServiceMock.UpdateEffortTypeAsync("XXX", request, Arg.Any()).Returns((EffortTypeDto?)null);
+ _effortTypeServiceMock.UpdateEffortTypeAsync("XXX", request, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.UpdateEffortType("XXX", request, CancellationToken.None);
@@ -297,7 +298,7 @@ public async Task DeleteEffortType_ReturnsNoContent_OnSuccess()
public async Task DeleteEffortType_ReturnsNotFound_WhenMissing()
{
// Arrange
- _effortTypeServiceMock.GetEffortTypeAsync("XXX", Arg.Any()).Returns((EffortTypeDto?)null);
+ _effortTypeServiceMock.GetEffortTypeAsync("XXX", Arg.Any()).ReturnsNull();
// Act
var result = await _controller.DeleteEffortType("XXX", CancellationToken.None);
@@ -397,7 +398,7 @@ public async Task CanDeleteEffortType_ReturnsCanDeleteTrue_WhenZeroUsage()
public async Task CanDeleteEffortType_ReturnsNotFound_WhenMissing()
{
// Arrange
- _effortTypeServiceMock.GetEffortTypeAsync("XXX", Arg.Any()).Returns((EffortTypeDto?)null);
+ _effortTypeServiceMock.GetEffortTypeAsync("XXX", Arg.Any()).ReturnsNull();
// Act
var result = await _controller.CanDeleteEffortType("XXX", CancellationToken.None);
diff --git a/test/Effort/InstructorsControllerTests.cs b/test/Effort/InstructorsControllerTests.cs
index 12686a483..39a5d0a31 100644
--- a/test/Effort/InstructorsControllerTests.cs
+++ b/test/Effort/InstructorsControllerTests.cs
@@ -4,6 +4,7 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using NSubstitute;
+using NSubstitute.ReturnsExtensions;
using NSubstitute.ExceptionExtensions;
using Viper.Areas.Effort.Controllers;
using Viper.Areas.Effort.Models.DTOs.Requests;
@@ -132,7 +133,7 @@ public async Task GetInstructor_ReturnsOk_WhenInstructorExists()
public async Task GetInstructor_ReturnsNotFound_WhenInstructorDoesNotExist()
{
// Arrange
- _instructorServiceMock.GetInstructorAsync(999, 202410, Arg.Any()).Returns((PersonDto?)null);
+ _instructorServiceMock.GetInstructorAsync(999, 202410, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.GetInstructor(999, 202410);
@@ -318,7 +319,7 @@ public async Task UpdateInstructor_ReturnsNotFound_WhenInstructorDoesNotExist()
VolunteerWos = false
};
- _instructorServiceMock.GetInstructorAsync(999, 202410, Arg.Any()).Returns((PersonDto?)null);
+ _instructorServiceMock.GetInstructorAsync(999, 202410, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.UpdateInstructor(999, 202410, request);
@@ -377,7 +378,7 @@ public async Task DeleteInstructor_ReturnsNoContent_OnSuccess()
public async Task DeleteInstructor_ReturnsNotFound_WhenInstructorDoesNotExist()
{
// Arrange
- _instructorServiceMock.GetInstructorAsync(999, 202410, Arg.Any()).Returns((PersonDto?)null);
+ _instructorServiceMock.GetInstructorAsync(999, 202410, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.DeleteInstructor(999, 202410);
@@ -529,7 +530,7 @@ public async Task GetInstructorEffortRecords_ReturnsOk_WithEffortRecords()
public async Task GetInstructorEffortRecords_ReturnsNotFound_WhenInstructorDoesNotExist()
{
// Arrange
- _instructorServiceMock.GetInstructorAsync(999, 202410, Arg.Any()).Returns((PersonDto?)null);
+ _instructorServiceMock.GetInstructorAsync(999, 202410, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.GetInstructorEffortRecords(999, 202410);
diff --git a/test/Effort/PercentAssignTypesControllerTests.cs b/test/Effort/PercentAssignTypesControllerTests.cs
index e66a8a4c7..a968186cb 100644
--- a/test/Effort/PercentAssignTypesControllerTests.cs
+++ b/test/Effort/PercentAssignTypesControllerTests.cs
@@ -3,6 +3,7 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using NSubstitute;
+using NSubstitute.ReturnsExtensions;
using Viper.Areas.Effort.Controllers;
using Viper.Areas.Effort.Models.DTOs.Responses;
using Viper.Areas.Effort.Services;
@@ -122,7 +123,7 @@ public async Task GetPercentAssignType_ReturnsOk_WhenFound()
public async Task GetPercentAssignType_ReturnsNotFound_WhenMissing()
{
// Arrange
- _typeServiceMock.GetPercentAssignTypeAsync(999, Arg.Any()).Returns((PercentAssignTypeDto?)null);
+ _typeServiceMock.GetPercentAssignTypeAsync(999, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.GetPercentAssignType(999, CancellationToken.None);
@@ -201,7 +202,7 @@ public async Task GetInstructorsByType_ReturnsOk_WithInstructors()
public async Task GetInstructorsByType_ReturnsNotFound_WhenTypeMissing()
{
// Arrange
- _typeServiceMock.GetInstructorsByTypeAsync(999, Arg.Any()).Returns((InstructorsByPercentAssignTypeResponseDto?)null);
+ _typeServiceMock.GetInstructorsByTypeAsync(999, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.GetInstructorsByType(999, CancellationToken.None);
diff --git a/test/Effort/PercentagesControllerTests.cs b/test/Effort/PercentagesControllerTests.cs
index 21fd486c7..e88f87214 100644
--- a/test/Effort/PercentagesControllerTests.cs
+++ b/test/Effort/PercentagesControllerTests.cs
@@ -4,6 +4,7 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using NSubstitute;
+using NSubstitute.ReturnsExtensions;
using NSubstitute.ExceptionExtensions;
using Viper.Areas.Effort.Controllers;
using Viper.Areas.Effort.Models.DTOs.Requests;
@@ -153,7 +154,7 @@ public async Task GetPercentage_ReturnsOk_WhenPercentageExistsAndAuthorized()
public async Task GetPercentage_ReturnsNotFound_WhenPercentageDoesNotExist()
{
// Arrange
- _percentageServiceMock.GetPercentageAsync(999, Arg.Any()).Returns((PercentageDto?)null);
+ _percentageServiceMock.GetPercentageAsync(999, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.GetPercentage(999);
@@ -398,7 +399,7 @@ public async Task UpdatePercentage_ReturnsNotFound_WhenPercentageDoesNotExist()
// Arrange
var request = CreateTestUpdateRequest();
- _percentageServiceMock.GetPercentageAsync(999, Arg.Any()).Returns((PercentageDto?)null);
+ _percentageServiceMock.GetPercentageAsync(999, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.UpdatePercentage(999, request);
@@ -525,7 +526,7 @@ public async Task DeletePercentage_ReturnsNoContent_WhenSuccessful()
public async Task DeletePercentage_ReturnsNotFound_WhenPercentageDoesNotExist()
{
// Arrange
- _percentageServiceMock.GetPercentageAsync(999, Arg.Any()).Returns((PercentageDto?)null);
+ _percentageServiceMock.GetPercentageAsync(999, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.DeletePercentage(999);
diff --git a/test/Effort/ReportsControllerTests.cs b/test/Effort/ReportsControllerTests.cs
index 2d405335f..1e4d6b5a7 100644
--- a/test/Effort/ReportsControllerTests.cs
+++ b/test/Effort/ReportsControllerTests.cs
@@ -3,6 +3,7 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using NSubstitute;
+using NSubstitute.ReturnsExtensions;
using Viper.Areas.Effort.Controllers;
using Viper.Areas.Effort.Models.DTOs.Responses;
using Viper.Areas.Effort.Services;
@@ -2731,7 +2732,7 @@ public async Task GetSabbatical_NoRecord_ReturnsEmptyDto()
{
_permissionServiceMock.HasFullAccessAsync(Arg.Any()).Returns(true);
_sabbaticalServiceMock
- .GetByPersonIdAsync(456, Arg.Any()).Returns((SabbaticalDto?)null);
+ .GetByPersonIdAsync(456, Arg.Any()).ReturnsNull();
var result = await _controller.GetSabbatical(456);
diff --git a/test/Effort/UnitsControllerTests.cs b/test/Effort/UnitsControllerTests.cs
index 871bbb88c..9efbcc4f3 100644
--- a/test/Effort/UnitsControllerTests.cs
+++ b/test/Effort/UnitsControllerTests.cs
@@ -4,6 +4,7 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using NSubstitute;
+using NSubstitute.ReturnsExtensions;
using NSubstitute.ExceptionExtensions;
using Viper.Areas.Effort.Controllers;
using Viper.Areas.Effort.Models.DTOs.Requests;
@@ -111,7 +112,7 @@ public async Task GetUnit_ReturnsOk_WhenFound()
public async Task GetUnit_ReturnsNotFound_WhenMissing()
{
// Arrange
- _unitServiceMock.GetUnitAsync(999, Arg.Any()).Returns((UnitDto?)null);
+ _unitServiceMock.GetUnitAsync(999, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.GetUnit(999, CancellationToken.None);
@@ -199,7 +200,7 @@ public async Task UpdateUnit_ReturnsNotFound_WhenMissing()
{
// Arrange
var request = new UpdateUnitRequest { Name = "Updated Unit", IsActive = true };
- _unitServiceMock.UpdateUnitAsync(999, request, Arg.Any()).Returns((UnitDto?)null);
+ _unitServiceMock.UpdateUnitAsync(999, request, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.UpdateUnit(999, request, CancellationToken.None);
diff --git a/test/Effort/VerificationControllerTests.cs b/test/Effort/VerificationControllerTests.cs
index 1703c1934..25ec01c21 100644
--- a/test/Effort/VerificationControllerTests.cs
+++ b/test/Effort/VerificationControllerTests.cs
@@ -4,6 +4,7 @@
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using NSubstitute;
+using NSubstitute.ReturnsExtensions;
using Viper.Areas.Effort;
using Viper.Areas.Effort.Controllers;
using Viper.Areas.Effort.Models.DTOs.Requests;
@@ -90,7 +91,7 @@ public async Task GetMyEffort_ReturnsOk_WithEffortData()
public async Task GetMyEffort_ReturnsEmptyDto_WhenNoInstructorRecord()
{
// Arrange
- _verificationServiceMock.GetMyEffortAsync(202410, Arg.Any()).Returns((MyEffortDto?)null);
+ _verificationServiceMock.GetMyEffortAsync(202410, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.GetMyEffort(202410);
@@ -171,7 +172,7 @@ public async Task SendVerificationEmail_ReturnsNotFound_WhenInstructorNotFound()
// Arrange
var request = new SendVerificationEmailRequest { PersonId = 999, TermCode = 202410 };
- _instructorServiceMock.GetInstructorAsync(999, 202410, Arg.Any()).Returns((PersonDto?)null);
+ _instructorServiceMock.GetInstructorAsync(999, 202410, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.SendVerificationEmail(request);
@@ -286,7 +287,7 @@ public async Task GetEmailHistory_ReturnsOk_WithHistory()
public async Task GetEmailHistory_ReturnsNotFound_WhenInstructorNotFound()
{
// Arrange
- _instructorServiceMock.GetInstructorAsync(999, 202410, Arg.Any()).Returns((PersonDto?)null);
+ _instructorServiceMock.GetInstructorAsync(999, 202410, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.GetEmailHistory(999, 202410);
@@ -360,7 +361,7 @@ public async Task CanVerify_ReturnsNotFound_WhenInstructorNotFound()
{
// Arrange
_permissionServiceMock.GetCurrentPersonId().Returns(123); // Different person
- _instructorServiceMock.GetInstructorAsync(456, 202410, Arg.Any()).Returns((PersonDto?)null);
+ _instructorServiceMock.GetInstructorAsync(456, 202410, Arg.Any()).ReturnsNull();
// Act
var result = await _controller.CanVerify(456, 202410);
diff --git a/test/Effort/VerificationServiceTests.cs b/test/Effort/VerificationServiceTests.cs
index 2170c91f3..6f213b20e 100644
--- a/test/Effort/VerificationServiceTests.cs
+++ b/test/Effort/VerificationServiceTests.cs
@@ -3,6 +3,7 @@
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using NSubstitute;
+using NSubstitute.ReturnsExtensions;
using Viper.Areas.Effort;
using Viper.Areas.Effort.Constants;
using Viper.Areas.Effort.EmailTemplates.Models;
@@ -627,7 +628,7 @@ public async Task SendVerificationEmailAsync_ReturnsError_WhenInstructorNotFound
public async Task SendVerificationEmailAsync_ReturnsError_WhenNoSenderEmail()
{
// Arrange: Current user has no email
- _permissionServiceMock.GetCurrentUserEmail().Returns((string?)null);
+ _permissionServiceMock.GetCurrentUserEmail().ReturnsNull();
// Act
var result = await _service.SendVerificationEmailAsync(TestPersonId, TestTermCode);
diff --git a/test/RAPS/RolesTests.cs b/test/RAPS/RolesTests.cs
index 88b722895..16222872b 100644
--- a/test/RAPS/RolesTests.cs
+++ b/test/RAPS/RolesTests.cs
@@ -2,6 +2,7 @@
using Viper.Classes.SQLContext;
using Viper.Models.RAPS;
using NSubstitute;
+using NSubstitute.ReturnsExtensions;
using MockQueryable.NSubstitute;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
@@ -55,7 +56,7 @@ private List GetTestRoles()
public async Task ReturnNotFound_WhenNoRolesInTable()
{
// arrange
- rapsContext.TblRoles.Returns((DbSet?)null);
+ rapsContext.TblRoles.ReturnsNull();
var rolesController = new RolesController(rapsContext);
// act
@@ -179,7 +180,7 @@ public async Task RejectFindRole_WithInvalidId()
// arrange
int RoleId = -1;
var mockSet = GetTestRoles().BuildMockDbSet();
- mockSet.FindAsync(Arg.Any