289 lines
10 KiB
C#
289 lines
10 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Moq;
|
|
using NUnit.Framework;
|
|
using LCU.Api.Internal.CoreApiWrapper.Controllers;
|
|
using LCU.Api.Internal.CoreApiWrapper.Services;
|
|
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.CoreRequests;
|
|
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.Persons;
|
|
|
|
namespace LCU.Api.Internal.CoreApiWrapperTest.Controllers
|
|
{
|
|
public class PersonUserFieldControllerTest
|
|
{
|
|
private PersonUserFieldController _personUserFieldController;
|
|
private Mock<IPersonUserFieldService> _mockPersonUserFieldService;
|
|
|
|
[SetUp]
|
|
public void SetUp()
|
|
{
|
|
_mockPersonUserFieldService = new Mock<IPersonUserFieldService>();
|
|
_personUserFieldController = new PersonUserFieldController(_mockPersonUserFieldService.Object);
|
|
}
|
|
|
|
[Test]
|
|
public async Task PutPersonUserFieldsAtmCheckHolds_OK()
|
|
{
|
|
var personUserField1 = new PersonUserField()
|
|
{
|
|
Id = "TEST1",
|
|
PersonNumber = 100001,
|
|
UserFieldCode = "TEST1",
|
|
Value = "N"
|
|
};
|
|
|
|
_mockPersonUserFieldService.Setup(x => x.UpdatePersonUserFieldAsync(It.IsAny<PersonUserFieldRequest>())).ReturnsAsync(personUserField1);
|
|
|
|
var personUserFieldUpdateRequest = new PersonUserFieldRequest()
|
|
{
|
|
PersonNumber = 100001,
|
|
UserFieldCode = "TEST1",
|
|
Value = "Y"
|
|
};
|
|
|
|
var results = await _personUserFieldController.PutPersonUserFieldForAtmCheckHolds(personUserFieldUpdateRequest);
|
|
|
|
Assert.NotNull(results);
|
|
var okResult = results as OkObjectResult;
|
|
Assert.NotNull(okResult);
|
|
Assert.AreEqual(200, okResult.StatusCode);
|
|
}
|
|
|
|
[Test]
|
|
public async Task PutPersonUserFieldsAtmCheckholds_Exception()
|
|
{
|
|
|
|
_mockPersonUserFieldService.Setup(x => x.UpdatePersonUserFieldAsync(It.IsAny<PersonUserFieldRequest>())).Throws(new NullReferenceException("Oops"));
|
|
|
|
var personUserFieldUpdateRequest = new PersonUserFieldRequest()
|
|
{
|
|
PersonNumber = 100001,
|
|
UserFieldCode = "TEST1",
|
|
Value = "Y"
|
|
};
|
|
|
|
var results = await _personUserFieldController.PutPersonUserFieldForAtmCheckHolds(personUserFieldUpdateRequest);
|
|
_mockPersonUserFieldService.Verify();
|
|
|
|
var badRes = results as ObjectResult;
|
|
Assert.NotNull(badRes);
|
|
Assert.AreEqual(500, badRes.StatusCode);
|
|
}
|
|
|
|
[Test]
|
|
public async Task PostPersonUserFieldsAtmCheckhold_OK()
|
|
{
|
|
var personUserField1 = new PersonUserField()
|
|
{
|
|
Id = "TEST1",
|
|
PersonNumber = 100001,
|
|
UserFieldCode = "TEST1",
|
|
Value = "N"
|
|
};
|
|
|
|
_mockPersonUserFieldService.Setup(x => x.InsertPersonUserFieldAsync(It.IsAny<PersonUserFieldRequest>())).ReturnsAsync(personUserField1);
|
|
|
|
var personUserFieldUpdateRequest = new PersonUserFieldRequest()
|
|
{
|
|
PersonNumber = 100001,
|
|
UserFieldCode = "TEST1",
|
|
Value = "Y"
|
|
};
|
|
|
|
var results = await _personUserFieldController.PostPersonUserFieldForAtmCheckHolds(personUserFieldUpdateRequest);
|
|
|
|
Assert.NotNull(results);
|
|
var okResult = results as OkObjectResult;
|
|
Assert.NotNull(okResult);
|
|
Assert.AreEqual(200, okResult.StatusCode);
|
|
}
|
|
|
|
[Test]
|
|
public async Task PostPersonUserFieldsAtmCHeckhold_Exception()
|
|
{
|
|
_mockPersonUserFieldService.Setup(x => x.InsertPersonUserFieldAsync(It.IsAny<PersonUserFieldRequest>())).Throws(new NullReferenceException("Nope!"));
|
|
|
|
var personUserFieldUpdateRequest = new PersonUserFieldRequest()
|
|
{
|
|
PersonNumber = 100001,
|
|
UserFieldCode = "TEST1",
|
|
Value = "Y"
|
|
};
|
|
|
|
var results = await _personUserFieldController.PostPersonUserFieldForAtmCheckHolds(personUserFieldUpdateRequest);
|
|
_mockPersonUserFieldService.Verify();
|
|
|
|
var badRes = results as ObjectResult;
|
|
Assert.NotNull(badRes);
|
|
Assert.AreEqual(500, badRes.StatusCode);
|
|
}
|
|
|
|
[Test]
|
|
public async Task GetPersonUserFieldsForAtmCheckHolds_OK()
|
|
{
|
|
var personUserField1 = new PersonCheckHoldsUserField()
|
|
{
|
|
PersonNumber = 100001,
|
|
OldestActiveEffectiveDate = DateTime.UtcNow,
|
|
RecentClosedEffectiveDate = DateTime.UtcNow,
|
|
UserFieldExists = true,
|
|
|
|
};
|
|
|
|
var personUserField2 = new PersonCheckHoldsUserField()
|
|
{
|
|
PersonNumber = 200001,
|
|
OldestActiveEffectiveDate = DateTime.UtcNow,
|
|
RecentClosedEffectiveDate = DateTime.UtcNow,
|
|
UserFieldExists = false,
|
|
};
|
|
|
|
_mockPersonUserFieldService.Setup(x => x.GetPersonsForAtmCheckHolds(It.IsAny<DateTime>(), It.IsAny<DateTime>())).ReturnsAsync(
|
|
new List<PersonCheckHoldsUserField>()
|
|
{
|
|
personUserField1,
|
|
personUserField2
|
|
});
|
|
|
|
var results = await _personUserFieldController.GetPersonsForAtmCheckHolds(DateTime.Now, DateTime.Now, 0);
|
|
|
|
Assert.NotNull(results);
|
|
var okResult = results as OkObjectResult;
|
|
Assert.NotNull(okResult);
|
|
Assert.AreEqual(200, okResult.StatusCode);
|
|
}
|
|
|
|
[Test]
|
|
public async Task GetPersonUserFieldsForAtmCheckHoldsLimit_OK()
|
|
{
|
|
var personUserField1 = new PersonCheckHoldsUserField()
|
|
{
|
|
PersonNumber = 100001,
|
|
OldestActiveEffectiveDate = DateTime.UtcNow,
|
|
RecentClosedEffectiveDate = DateTime.UtcNow,
|
|
UserFieldExists = true,
|
|
|
|
};
|
|
|
|
var personUserField2 = new PersonCheckHoldsUserField()
|
|
{
|
|
PersonNumber = 200001,
|
|
OldestActiveEffectiveDate = DateTime.UtcNow,
|
|
RecentClosedEffectiveDate = DateTime.UtcNow,
|
|
UserFieldExists = false,
|
|
};
|
|
|
|
_mockPersonUserFieldService.Setup(x => x.GetPersonsForAtmCheckHolds(It.IsAny<DateTime>(), It.IsAny<DateTime>())).ReturnsAsync(
|
|
new List<PersonCheckHoldsUserField>()
|
|
{
|
|
personUserField1
|
|
});
|
|
|
|
var results = await _personUserFieldController.GetPersonsForAtmCheckHolds(DateTime.Now, DateTime.Now, 1);
|
|
|
|
Assert.NotNull(results);
|
|
var okResult = results as OkObjectResult;
|
|
Assert.NotNull(okResult);
|
|
Assert.AreEqual(200, okResult.StatusCode);
|
|
}
|
|
|
|
[Test]
|
|
public async Task PutPersonUserFieldsGeneric_OK()
|
|
{
|
|
var personUserField1 = new PersonUserField()
|
|
{
|
|
Id = "TEST1",
|
|
PersonNumber = 100001,
|
|
UserFieldCode = "TEST1",
|
|
Value = "N"
|
|
};
|
|
|
|
_mockPersonUserFieldService.Setup(x => x.UpdatePersonUserFieldAsync(It.IsAny<PersonUserFieldRequest>())).ReturnsAsync(personUserField1);
|
|
|
|
var personUserFieldUpdateRequest = new PersonUserFieldRequest()
|
|
{
|
|
PersonNumber = 100001,
|
|
UserFieldCode = "TEST1",
|
|
Value = "Y"
|
|
};
|
|
|
|
var results = await _personUserFieldController.PutPersonUserField(personUserFieldUpdateRequest);
|
|
|
|
Assert.NotNull(results);
|
|
var okResult = results as OkObjectResult;
|
|
Assert.NotNull(okResult);
|
|
Assert.AreEqual(200, okResult.StatusCode);
|
|
}
|
|
|
|
[Test]
|
|
public async Task PutPersonUserFieldsGeneric_Exception()
|
|
{
|
|
|
|
_mockPersonUserFieldService.Setup(x => x.UpdatePersonUserFieldAsync(It.IsAny<PersonUserFieldRequest>())).Throws(new NullReferenceException("Oops"));
|
|
|
|
var personUserFieldUpdateRequest = new PersonUserFieldRequest()
|
|
{
|
|
PersonNumber = 100001,
|
|
UserFieldCode = "TEST1",
|
|
Value = "Y"
|
|
};
|
|
|
|
var results = await _personUserFieldController.PutPersonUserField(personUserFieldUpdateRequest);
|
|
_mockPersonUserFieldService.Verify();
|
|
|
|
var badRes = results as ObjectResult;
|
|
Assert.NotNull(badRes);
|
|
Assert.AreEqual(500, badRes.StatusCode);
|
|
}
|
|
|
|
[Test]
|
|
public async Task PostPersonUserFieldsGeneric_OK()
|
|
{
|
|
var personUserField1 = new PersonUserField()
|
|
{
|
|
Id = "TEST1",
|
|
PersonNumber = 100001,
|
|
UserFieldCode = "TEST1",
|
|
Value = "N"
|
|
};
|
|
|
|
_mockPersonUserFieldService.Setup(x => x.InsertPersonUserFieldAsync(It.IsAny<PersonUserFieldRequest>())).ReturnsAsync(personUserField1);
|
|
|
|
var personUserFieldUpdateRequest = new PersonUserFieldRequest()
|
|
{
|
|
PersonNumber = 100001,
|
|
UserFieldCode = "TEST1",
|
|
Value = "Y"
|
|
};
|
|
|
|
var results = await _personUserFieldController.PostPersonUserField(personUserFieldUpdateRequest);
|
|
|
|
Assert.NotNull(results);
|
|
var okResult = results as OkObjectResult;
|
|
Assert.NotNull(okResult);
|
|
Assert.AreEqual(200, okResult.StatusCode);
|
|
}
|
|
|
|
[Test]
|
|
public async Task PostPersonUserFieldsGeneric_Exception()
|
|
{
|
|
_mockPersonUserFieldService.Setup(x => x.InsertPersonUserFieldAsync(It.IsAny<PersonUserFieldRequest>())).Throws(new NullReferenceException("Nope!"));
|
|
|
|
var personUserFieldUpdateRequest = new PersonUserFieldRequest()
|
|
{
|
|
PersonNumber = 100001,
|
|
UserFieldCode = "TEST1",
|
|
Value = "Y"
|
|
};
|
|
|
|
var results = await _personUserFieldController.PostPersonUserField(personUserFieldUpdateRequest);
|
|
_mockPersonUserFieldService.Verify();
|
|
|
|
var badRes = results as ObjectResult;
|
|
Assert.NotNull(badRes);
|
|
Assert.AreEqual(500, badRes.StatusCode);
|
|
}
|
|
}
|
|
} |