Created CA follow up worker
This commit is contained in:
101
FabApprovalWorkerServiceTests/CorrectiveActionServiceTests.cs
Normal file
101
FabApprovalWorkerServiceTests/CorrectiveActionServiceTests.cs
Normal file
@ -0,0 +1,101 @@
|
||||
using FabApprovalWorkerService.Models;
|
||||
using FabApprovalWorkerService.Services;
|
||||
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
using Moq;
|
||||
|
||||
namespace FabApprovalWorkerServiceTests;
|
||||
|
||||
public class CorrectiveActionServiceTests {
|
||||
private Mock<ILogger<CorrectiveActionService>> _mockLogger;
|
||||
private Mock<IDalService> _mockDalService;
|
||||
|
||||
private CorrectiveActionService _caService;
|
||||
|
||||
[SetUp]
|
||||
public void Setup() {
|
||||
_mockLogger = new Mock<ILogger<CorrectiveActionService>>();
|
||||
_mockDalService = new Mock<IDalService>();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CAServiceWithNullLoggerShouldThrowException() {
|
||||
Assert.Throws<ArgumentNullException>(() => new CorrectiveActionService(null, _mockDalService.Object));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CAServiceWithNullDalServiceShouldThrowException() {
|
||||
Assert.Throws<ArgumentNullException>(() => new CorrectiveActionService(_mockLogger.Object, null));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void GetCorrectiveActionsWithFollowUpInFiveDaysDbErrorShouldThrowError() {
|
||||
_mockDalService.Setup(d => d.QueryAsync<CorrectiveAction>(It.IsAny<string>())).Throws(new Exception());
|
||||
|
||||
_caService = new CorrectiveActionService(_mockLogger.Object, _mockDalService.Object);
|
||||
|
||||
Assert.ThrowsAsync<Exception>(async Task () => await _caService.GetCorrectiveActionsWithFollowUpInFiveDays());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task GetCorrectiveActionsWithFollowUpInFiveDaysShouldReturnExpectedCAs() {
|
||||
IEnumerable<CorrectiveAction> expectedCAs = new List<CorrectiveAction>() {
|
||||
new CorrectiveAction() {
|
||||
CANo = 1,
|
||||
CATitle = "title"
|
||||
},
|
||||
new CorrectiveAction() {
|
||||
CANo = 2,
|
||||
CATitle = "title"
|
||||
},
|
||||
new CorrectiveAction() {
|
||||
CANo = 3,
|
||||
CATitle = "title"
|
||||
}
|
||||
};
|
||||
|
||||
_mockDalService.Setup(d => d.QueryAsync<CorrectiveAction>(It.IsAny<string>())).Returns(Task.FromResult(expectedCAs));
|
||||
|
||||
_caService = new CorrectiveActionService(_mockLogger.Object, _mockDalService.Object);
|
||||
|
||||
IEnumerable<CorrectiveAction> actualCAs = await _caService.GetCorrectiveActionsWithFollowUpInFiveDays();
|
||||
|
||||
Assert.That(expectedCAs, Is.EquivalentTo(actualCAs));
|
||||
}
|
||||
|
||||
//CreateCorrectiveActionFollowUpApproval
|
||||
[Test]
|
||||
public void CreateCorrectiveActionFollowUpApprovalWithInvalidCaNoShouldThrowException() {
|
||||
_caService = new CorrectiveActionService(_mockLogger.Object, _mockDalService.Object);
|
||||
|
||||
Assert.ThrowsAsync<ArgumentException>(async Task () => await _caService.CreateCorrectiveActionFollowUpApproval(0, 5));
|
||||
Assert.ThrowsAsync<ArgumentException>(async Task () => await _caService.CreateCorrectiveActionFollowUpApproval(-5, 5));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CreateCorrectiveActionFollowUpApprovalWithInvalidQaIdShouldThrowException() {
|
||||
_caService = new CorrectiveActionService(_mockLogger.Object, _mockDalService.Object);
|
||||
|
||||
Assert.ThrowsAsync<ArgumentException>(async Task () => await _caService.CreateCorrectiveActionFollowUpApproval(5, 0));
|
||||
Assert.ThrowsAsync<ArgumentException>(async Task () => await _caService.CreateCorrectiveActionFollowUpApproval(5, -5));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CreateCorrectiveActionFollowUpApprovalDbErrorShouldThrowException() {
|
||||
_mockDalService.Setup(d => d.ExecuteAsync(It.IsAny<string>())).Throws(new Exception());
|
||||
|
||||
_caService = new CorrectiveActionService(_mockLogger.Object, _mockDalService.Object);
|
||||
|
||||
Assert.ThrowsAsync<Exception>(async Task () => await _caService.CreateCorrectiveActionFollowUpApproval(5, 5));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task CreateCorrectiveActionFollowUpApprovalShouldExecuteSql() {
|
||||
_caService = new CorrectiveActionService(_mockLogger.Object, _mockDalService.Object);
|
||||
|
||||
await _caService.CreateCorrectiveActionFollowUpApproval(5, 5);
|
||||
|
||||
_mockDalService.Verify(d => d.ExecuteAsync(It.IsAny<string>()), Times.Once());
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user