124 lines
5.0 KiB
C#
124 lines
5.0 KiB
C#
using System;
|
|
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.LcuModels.Members;
|
|
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.Mixed;
|
|
|
|
namespace LCU.Api.Internal.CoreApiWrapperTest.Controllers
|
|
{
|
|
public class MemberControllerTest
|
|
{
|
|
private MemberController _memberController;
|
|
private Mock<IMemberService> _mockMemberService;
|
|
private Mock<ILoanService> _mockLoanService;
|
|
|
|
|
|
[SetUp]
|
|
public void SetUp()
|
|
{
|
|
_mockMemberService = new Mock<IMemberService>();
|
|
_mockLoanService = new Mock<ILoanService>();
|
|
_memberController = new MemberController(_mockMemberService.Object, _mockLoanService.Object);
|
|
}
|
|
|
|
[Test]
|
|
public async Task GetMemberByAccountNumber_OK()
|
|
{
|
|
_mockMemberService.Setup(x => x.GetMemberByAccountNumber(123334234324)).ReturnsAsync(new Member(){ MemberId = 1}).Verifiable();
|
|
|
|
var results = await _memberController.GetMemberByAccountNumber(123334234324);
|
|
|
|
Assert.NotNull(results);
|
|
var okResult = results as OkObjectResult;
|
|
Assert.NotNull(okResult);
|
|
Assert.AreEqual(200, okResult.StatusCode);
|
|
|
|
var result = okResult.Value as Member;
|
|
Assert.NotNull(result);
|
|
Assert.AreEqual(1, result.MemberId);
|
|
_mockLoanService.Verify();
|
|
}
|
|
|
|
[Test]
|
|
public async Task GetMemberByAccountNumber_Exception()
|
|
{
|
|
_mockMemberService.Setup(x => x.GetMemberByAccountNumber(It.IsAny<long>())).Throws(new Exception("Oops"));
|
|
|
|
var results = await _memberController.GetMemberByAccountNumber(1234555);
|
|
|
|
Assert.NotNull(results);
|
|
var badRes = results as StatusCodeResult;
|
|
Assert.NotNull(badRes);
|
|
Assert.AreEqual(500, badRes.StatusCode);
|
|
}
|
|
|
|
[Test]
|
|
public async Task GetPersonOrOrganizationNumberByMemberNumber_PersonFound()
|
|
{
|
|
long personMemberNumber = 123;
|
|
string personName = "John E Jacob Jr";
|
|
|
|
var personOrOrganization = new PersonOrganization()
|
|
{
|
|
PersonNumber = personMemberNumber.ToString(),
|
|
EntityName = personName
|
|
};
|
|
|
|
_mockMemberService.Setup(x => x.GetPersonOrOrganizationNumberByMemberId(It.IsAny<long>())).ReturnsAsync(personOrOrganization).Verifiable();
|
|
|
|
var result = await _memberController.GetPersonOrOrganizationNumberByMemberId(personMemberNumber);
|
|
var okResult = result as OkObjectResult;
|
|
var personOrOrganizationResult = okResult.Value as PersonOrganization;
|
|
|
|
Assert.NotNull(result);
|
|
Assert.AreEqual(personMemberNumber.ToString(), personOrOrganizationResult.PersonNumber);
|
|
Assert.AreEqual(personName, personOrOrganizationResult.EntityName);
|
|
Assert.IsNull(personOrOrganizationResult.OrganizationNumber);
|
|
Assert.AreEqual(200, okResult.StatusCode);
|
|
}
|
|
|
|
[Test]
|
|
public async Task GetPersonOrOrganizationNumberByMemberNumber_OrganizationFound()
|
|
{
|
|
long organizationMemberNumber = 123;
|
|
string organizationName = "John E Consulting LLC";
|
|
|
|
var personOrOrganization = new PersonOrganization()
|
|
{
|
|
OrganizationNumber = organizationMemberNumber.ToString(),
|
|
EntityName = organizationName
|
|
};
|
|
|
|
_mockMemberService.Setup(x => x.GetPersonOrOrganizationNumberByMemberId(It.IsAny<long>())).ReturnsAsync(personOrOrganization).Verifiable();
|
|
|
|
var result = await _memberController.GetPersonOrOrganizationNumberByMemberId(organizationMemberNumber);
|
|
var okResult = result as OkObjectResult;
|
|
var personOrOrganizationResult = okResult.Value as PersonOrganization;
|
|
|
|
Assert.NotNull(result);
|
|
Assert.AreEqual(organizationMemberNumber.ToString(), personOrOrganizationResult.OrganizationNumber);
|
|
Assert.AreEqual(organizationName, personOrOrganizationResult.EntityName);
|
|
Assert.IsNull(personOrOrganizationResult.PersonNumber);
|
|
Assert.AreEqual(200, okResult.StatusCode);
|
|
}
|
|
|
|
[Test]
|
|
public async Task GetPersonOrOrganizationNumberByMemberNumber_NeitherFound_Exception()
|
|
{
|
|
long organizationMemberNumber = 123;
|
|
|
|
_mockMemberService.Setup(x => x.GetPersonOrOrganizationNumberByMemberId(It.IsAny<long>())).Throws(new ArgumentNullException()).Verifiable();
|
|
|
|
var result = await _memberController.GetPersonOrOrganizationNumberByMemberId(organizationMemberNumber);
|
|
var notFoundResult = result as StatusCodeResult;
|
|
|
|
Assert.NotNull(result);
|
|
Assert.NotNull(notFoundResult);
|
|
Assert.AreEqual(404, notFoundResult.StatusCode);
|
|
}
|
|
}
|
|
} |