Created CertificationTrainingGroupWorker

This commit is contained in:
Chase Tucker
2024-04-22 13:01:39 -07:00
parent 855990e3e2
commit 91a15a32b6
6 changed files with 235 additions and 102 deletions

View File

@ -10,6 +10,7 @@ namespace FabApprovalWorkerServiceTests;
public class TrainingServiceTests {
private Mock<ILogger<TrainingService>> _mockLogger;
private Mock<IDalService> _mockDalService;
private Mock<IUserService> _mockUserService;
private TrainingService _trainingService;
@ -17,21 +18,27 @@ public class TrainingServiceTests {
public void Setup() {
_mockLogger = new Mock<ILogger<TrainingService>>();
_mockDalService = new Mock<IDalService>();
_mockUserService = new Mock<IUserService>();
}
[Test]
public void TrainingServiceWithNullLoggerShouldThrowException() {
Assert.Throws<ArgumentNullException>(() => new TrainingService(null, _mockDalService.Object));
Assert.Throws<ArgumentNullException>(() => new TrainingService(null, _mockDalService.Object, _mockUserService.Object));
}
[Test]
public void TrainingServiceWithNullDalServiceShouldThrowException() {
Assert.Throws<ArgumentNullException>(() => new TrainingService(_mockLogger.Object, null));
Assert.Throws<ArgumentNullException>(() => new TrainingService(_mockLogger.Object, null, _mockUserService.Object));
}
[Test]
public void TrainingServiceWithNullUserServiceShouldThrowException() {
Assert.Throws<ArgumentNullException>(() => new TrainingService(_mockLogger.Object, _mockDalService.Object, null));
}
[Test]
public void DeleteDocAssignmentWithInvalidIdShouldThrowException() {
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<ArgumentException>(async Task () => await _trainingService.DeleteDocAssignment(-1));
}
@ -40,7 +47,7 @@ public class TrainingServiceTests {
public void DeleteDocAssignmentWithDbErrorShouldThrowException() {
_mockDalService.Setup(d => d.ExecuteAsync(It.IsAny<string>())).Throws(new Exception());
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<Exception>(async Task () => await _trainingService.DeleteDocAssignment(1));
}
@ -49,7 +56,7 @@ public class TrainingServiceTests {
public async Task DeleteDocAssignmentShouldExecuteSqlQuery() {
_mockDalService.Setup(d => d.ExecuteAsync(It.IsAny<string>())).Returns(Task.FromResult(3));
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
await _trainingService.DeleteDocAssignment(3);
@ -58,7 +65,7 @@ public class TrainingServiceTests {
[Test]
public void DeleteTrainingAssignmentWithInvalidIdShouldThrowException() {
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<ArgumentException>(async Task () => await _trainingService.DeleteTrainingAssignmentsByTrainingId(-1));
}
@ -67,7 +74,7 @@ public class TrainingServiceTests {
public void DeleteTrainingAssignmentWithDbErrorShouldThrowException() {
_mockDalService.Setup(d => d.ExecuteAsync(It.IsAny<string>())).Throws(new Exception());
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<Exception>(async Task () => await _trainingService.DeleteTrainingAssignmentsByTrainingId(1));
}
@ -76,7 +83,7 @@ public class TrainingServiceTests {
public async Task DeleteTrainingAssignmentShouldExecuteSqlQuery() {
_mockDalService.Setup(d => d.ExecuteAsync(It.IsAny<string>())).Returns(Task.FromResult(3));
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
await _trainingService.DeleteTrainingAssignmentsByTrainingId(3);
@ -85,7 +92,7 @@ public class TrainingServiceTests {
[Test]
public void GetTrainingAssignmentIdsForTrainingWithInvalidIdShouldThrowException() {
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<ArgumentException>(async Task () => {
IEnumerable<int> ids = await _trainingService.GetTrainingAssignmentIdsForTraining(-1);
@ -96,7 +103,7 @@ public class TrainingServiceTests {
public void GetTrainingAssignmentIdsForTrainingWithDbErrorShouldThrowException() {
_mockDalService.Setup(d => d.QueryAsync<int>(It.IsAny<string>())).Throws(new Exception());
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<Exception>(async Task () => await _trainingService.GetTrainingAssignmentIdsForTraining(1));
}
@ -107,7 +114,7 @@ public class TrainingServiceTests {
_mockDalService.Setup(d => d.QueryAsync<int>(It.IsAny<string>())).Returns(Task.FromResult(expectedIds));
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
IEnumerable<int> actualIds = await _trainingService.GetTrainingAssignmentIdsForTraining(1);
@ -116,7 +123,7 @@ public class TrainingServiceTests {
[Test]
public void GetTrainingIdsForEcnWithInvalidIdShouldThrowException() {
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<ArgumentException>(async Task () => {
IEnumerable<int> ids = await _trainingService.GetTrainingIdsForECN(-1);
@ -127,7 +134,7 @@ public class TrainingServiceTests {
public void GetTrainingIdsForEcnWithDbErrorShouldThrowException() {
_mockDalService.Setup(d => d.QueryAsync<int>(It.IsAny<string>())).Throws(new Exception());
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<Exception>(async Task () => await _trainingService.GetTrainingIdsForECN(1));
}
@ -138,7 +145,7 @@ public class TrainingServiceTests {
_mockDalService.Setup(d => d.QueryAsync<int>(It.IsAny<string>())).Returns(Task.FromResult(expectedIds));
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
IEnumerable<int> actualIds = await _trainingService.GetTrainingIdsForECN(1);
@ -147,7 +154,7 @@ public class TrainingServiceTests {
[Test]
public void MarkTrainingAsCompleteWithInvalidIdShouldThrowException() {
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<ArgumentException>(async Task() => await _trainingService.MarkTrainingAsComplete(-1));
}
@ -156,7 +163,7 @@ public class TrainingServiceTests {
public void MarkTrainingCompleteWithDbErrorShouldThrowException() {
_mockDalService.Setup(d => d.ExecuteAsync(It.IsAny<string>())).Throws(new Exception());
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<Exception>(async Task () => await _trainingService.MarkTrainingAsComplete(1));
}
@ -165,7 +172,7 @@ public class TrainingServiceTests {
public async Task MarkTrainingCompleteShouldExecuteSql() {
_mockDalService.Setup(d => d.ExecuteAsync(It.IsAny<string>())).Returns(Task.FromResult(1));
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
await _trainingService.MarkTrainingAsComplete(1);
@ -197,7 +204,7 @@ public class TrainingServiceTests {
_mockDalService.Setup(d => d.QueryAsync<TrainingAssignment>(It.IsAny<string>())).Returns(Task.FromResult(expectedAssignments));
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
IEnumerable<TrainingAssignment> actualAssignments = await _trainingService.GetActiveTrainingAssignments();
@ -208,14 +215,14 @@ public class TrainingServiceTests {
public void GetActiveTrainingAssignmentsWithDbErrorShouldThrowException() {
_mockDalService.Setup(d => d.QueryAsync<TrainingAssignment>(It.IsAny<string>())).Throws(new Exception());
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<Exception>(async Task() => await _trainingService.GetActiveTrainingAssignments());
}
[Test]
public void UpdateTrainingAssignmentLastNotificationWithInvalidIdShouldThrowException() {
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<ArgumentException>(async Task () => await _trainingService.UpdateTrainingAssignmentLastNotification(-1));
}
@ -224,14 +231,14 @@ public class TrainingServiceTests {
public void UpdateTrainingAssignmentLastNotificationDbErrorShouldThrowException() {
_mockDalService.Setup(d => d.ExecuteAsync(It.IsAny<string>())).Throws(new Exception());
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<Exception>(async Task () => await _trainingService.UpdateTrainingAssignmentLastNotification(1));
}
[Test]
public async Task UpdateTrainingAssignmentLastNotificationShouldExecuteSql() {
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
await _trainingService.UpdateTrainingAssignmentLastNotification(1);
@ -240,7 +247,7 @@ public class TrainingServiceTests {
[Test]
public void GetEcnNumberByTrainingIdInvalidIdShouldThrowException() {
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<ArgumentException>(async Task () => await _trainingService.GetEcnNumberByTrainingId(0));
Assert.ThrowsAsync<ArgumentException>(async Task () => await _trainingService.GetEcnNumberByTrainingId(-1));
@ -250,7 +257,7 @@ public class TrainingServiceTests {
public void GetEcnNumberByTrainingIdDbErrorShouldThrowException() {
_mockDalService.Setup(d => d.QueryAsync<int>(It.IsAny<string>())).Throws(new Exception());
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<Exception>(async Task () => await _trainingService.GetEcnNumberByTrainingId(9));
}
@ -261,7 +268,7 @@ public class TrainingServiceTests {
_mockDalService.Setup(d => d.QueryAsync<int>(It.IsAny<string>())).Returns(Task.FromResult(expectedIds));
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<Exception>(async Task () => await _trainingService.GetEcnNumberByTrainingId(9));
}
@ -272,7 +279,7 @@ public class TrainingServiceTests {
_mockDalService.Setup(d => d.QueryAsync<int>(It.IsAny<string>())).Returns(Task.FromResult(expectedIds));
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
int actualId = await _trainingService.GetEcnNumberByTrainingId(9);
@ -281,7 +288,7 @@ public class TrainingServiceTests {
[Test]
public void DeleteTrainingAssignmentByIdWithInvalidIdShouldThrowException() {
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<ArgumentException>(async Task () => await _trainingService.DeleteTrainingAssignmentById(0));
Assert.ThrowsAsync<ArgumentException>(async Task () => await _trainingService.DeleteTrainingAssignmentById(-7));
@ -291,14 +298,14 @@ public class TrainingServiceTests {
public void DeleteTrainingAssignmentByIdWithDbErrorShouldThrowException() {
_mockDalService.Setup(d => d.ExecuteAsync(It.IsAny<string>())).Throws(new Exception());
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<Exception>(async Task () => await _trainingService.DeleteTrainingAssignmentById(9));
}
[Test]
public async Task DeleteTrainingAssignmentByIdShouldExecuteSql() {
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
await _trainingService.DeleteTrainingAssignmentById(9);
@ -307,7 +314,7 @@ public class TrainingServiceTests {
[Test]
public void GetTrainingAssignmentIdsByUserIdWithInvalidIdShouldThrowException() {
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<ArgumentException>(async Task () => await _trainingService.GetTrainingAssignmentIdsByUserId(0));
Assert.ThrowsAsync<ArgumentException>(async Task () => await _trainingService.GetTrainingAssignmentIdsByUserId(-9));
@ -317,7 +324,7 @@ public class TrainingServiceTests {
public void GetTrainingAssignmentIdsByUserIdWithDbErrorShouldThrowException() {
_mockDalService.Setup(d => d.QueryAsync<int>(It.IsAny<string>())).Throws(new Exception());
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
Assert.ThrowsAsync<Exception>(async Task () => await _trainingService.GetTrainingAssignmentIdsByUserId(9));
}
@ -328,7 +335,7 @@ public class TrainingServiceTests {
_mockDalService.Setup(d => d.QueryAsync<int>(It.IsAny<string>())).Returns(Task.FromResult(expectedIds));
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object);
_trainingService = new TrainingService(_mockLogger.Object, _mockDalService.Object, _mockUserService.Object);
IEnumerable<int> actualIds = await _trainingService.GetTrainingAssignmentIdsByUserId(9);