310 lines
12 KiB
C#
310 lines
12 KiB
C#
using Moq;
|
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
using System;
|
|
using System.Web.Http.Results;
|
|
using LCU.API.Internal.CoreSoapApiWrapper.Controllers;
|
|
using LCU.API.Internal.CoreSoapApiWrapper.CoreSoapUtilities;
|
|
using LCU.API.Internal.CoreSoapApiWrapper.Services;
|
|
using LCU.API.Internal.CoreSoapApiWrapper.Models.Requests;
|
|
using LCU.API.Internal.CoreSoapApiWrapper.Models.Responses;
|
|
|
|
namespace LCU.API.Internal.CoreSoapApiWrapperTest.Controllers
|
|
{
|
|
[TestClass]
|
|
public class AccountControllerTest
|
|
{
|
|
private AccountController _controller;
|
|
private Mock<IAccountService> _mockAccountService;
|
|
|
|
public AccountControllerTest()
|
|
{
|
|
_mockAccountService = new Mock<IAccountService>();
|
|
_controller = new AccountController(_mockAccountService.Object);
|
|
}
|
|
|
|
|
|
[TestMethod]
|
|
public void GetAccountByAccountNumber_OK()
|
|
{
|
|
|
|
var maintenanceResponse = new AccountDetailInquiryResponse
|
|
{
|
|
WasSuccessful = true
|
|
};
|
|
|
|
_mockAccountService.Setup(x => x.GetAccountByAccountNumber(100L)).Returns(maintenanceResponse).Verifiable();
|
|
|
|
var result = _controller.GetAccountByAccountNumber(100L);
|
|
Assert.IsNotNull(result);
|
|
var okResult = result as OkNegotiatedContentResult<AccountDetailInquiryResponse>;
|
|
Assert.IsNotNull(okResult);
|
|
Assert.IsTrue((bool)okResult.Content.WasSuccessful);
|
|
_mockAccountService.Verify();
|
|
}
|
|
|
|
[TestMethod]
|
|
public void GetAccountByAccountNumber_LongIsZero_BadRequest()
|
|
{
|
|
|
|
_mockAccountService.Verify(x => x.GetAccountByAccountNumber(It.IsAny<long>()),
|
|
Times.Never);
|
|
|
|
var result = _controller.GetAccountByAccountNumber(0);
|
|
|
|
Assert.IsNotNull(result);
|
|
var okResult = result as BadRequestErrorMessageResult;
|
|
Assert.IsNotNull(okResult);
|
|
_mockAccountService.Verify(x => x.GetAccountByAccountNumber(It.IsAny<long>()), Times.Never);
|
|
}
|
|
|
|
[TestMethod]
|
|
public void GetAccountByAccountNumber_Exception()
|
|
{
|
|
_mockAccountService.Setup(x => x.GetAccountByAccountNumber(100L)).Throws(new Exception("Error thrown in unit test.")).Verifiable();
|
|
|
|
var result = _controller.GetAccountByAccountNumber(100);
|
|
Assert.IsNotNull(result);
|
|
var okResult = result as BadRequestErrorMessageResult;
|
|
Assert.IsNotNull(okResult);
|
|
_mockAccountService.Verify();
|
|
}
|
|
|
|
[TestMethod]
|
|
public void PutAccountMaintenanceRequest_OK()
|
|
{
|
|
var maintenanceRequest = new AccountMaintenanceRequest
|
|
{
|
|
Accounts = new[]{
|
|
new MaintenanceAccount
|
|
{
|
|
AccountNumber = 123456,
|
|
DeliveryMethodCode = "PRNT"
|
|
}
|
|
}
|
|
};
|
|
|
|
var maintenanceResponse = new AccountMaintenanceResponse
|
|
{
|
|
WasSuccessful = true
|
|
};
|
|
|
|
_mockAccountService.Setup(x => x.SendAccountMaintenanceRequest(maintenanceRequest)).Returns(maintenanceResponse).Verifiable();
|
|
|
|
var result = _controller.PutAccountMaintenanceRequest(maintenanceRequest);
|
|
Assert.IsNotNull(result);
|
|
var okResult = result as OkNegotiatedContentResult<AccountMaintenanceResponse>;
|
|
Assert.IsNotNull(okResult);
|
|
Assert.IsTrue((bool)okResult.Content.WasSuccessful);
|
|
_mockAccountService.Verify();
|
|
}
|
|
|
|
[TestMethod]
|
|
public void PutAccountMaintenanceRequest_Null_BadRequest()
|
|
{
|
|
|
|
_mockAccountService.Verify(x => x.SendAccountMaintenanceRequest(It.IsAny<AccountMaintenanceRequest>()),
|
|
Times.Never);
|
|
|
|
var result = _controller.PutAccountMaintenanceRequest(null);
|
|
|
|
Assert.IsNotNull(result);
|
|
var okResult = result as BadRequestErrorMessageResult;
|
|
Assert.IsNotNull(okResult);
|
|
_mockAccountService.Verify(x => x.SendAccountMaintenanceRequest(It.IsAny<AccountMaintenanceRequest>()),
|
|
Times.Never);
|
|
}
|
|
|
|
[TestMethod]
|
|
public void PutAccountMaintenanceRequest_Exception()
|
|
{
|
|
var maintenanceRequest = new AccountMaintenanceRequest
|
|
{
|
|
Accounts = new[]{
|
|
new MaintenanceAccount
|
|
{
|
|
AccountNumber = 123456,
|
|
DeliveryMethodCode = "PRNT"
|
|
}
|
|
}
|
|
};
|
|
|
|
_mockAccountService.Setup(x => x.SendAccountMaintenanceRequest(maintenanceRequest)).Throws(new Exception("Error thrown in unit test.")).Verifiable();
|
|
|
|
var result = _controller.PutAccountMaintenanceRequest(maintenanceRequest);
|
|
Assert.IsNotNull(result);
|
|
var okResult = result as BadRequestErrorMessageResult;
|
|
Assert.IsNotNull(okResult);
|
|
_mockAccountService.Verify();
|
|
}
|
|
|
|
[TestMethod]
|
|
public void PutAccountAnalysisGroupMaintenanceRequest_OK()
|
|
{
|
|
var maintenanceRequest = new AccountAnalysisGroupMaintenanceRequest
|
|
{
|
|
AccountNumber = 11111111,
|
|
IsGenerateAnalysisStatement = true,
|
|
IsPrintAnalysisStatement = true,
|
|
IsUseForServiceCharge = true,
|
|
};
|
|
|
|
var maintenanceResponse = new AccountAnalysisMaintenanceResponse
|
|
{
|
|
WasSuccessful = true
|
|
};
|
|
|
|
_mockAccountService.Setup(x => x.SendAccountAnalysisGroupMaintenanceRequest(maintenanceRequest)).Returns(new BasicResponse(maintenanceResponse)).Verifiable();
|
|
|
|
var result = _controller.PutAccountAnalysisGroupMaintenanceRequest(maintenanceRequest);
|
|
Assert.IsNotNull(result);
|
|
var okResult = result as OkNegotiatedContentResult<BasicResponse>;
|
|
Assert.IsNotNull(okResult);
|
|
Assert.IsTrue((bool)okResult.Content.Success);
|
|
_mockAccountService.Verify();
|
|
}
|
|
|
|
[TestMethod]
|
|
public void PutAccountAnalysisGroupMaintenanceRequest_Exception()
|
|
{
|
|
var maintenanceRequest = new AccountAnalysisGroupMaintenanceRequest
|
|
{
|
|
AccountNumber = 11111111,
|
|
IsGenerateAnalysisStatement = true,
|
|
IsPrintAnalysisStatement = true,
|
|
IsUseForServiceCharge = true,
|
|
};
|
|
|
|
_mockAccountService.Setup(x => x.SendAccountAnalysisGroupMaintenanceRequest(maintenanceRequest)).Throws(new Exception("Error thrown in unit test.")).Verifiable();
|
|
|
|
var result = _controller.PutAccountAnalysisGroupMaintenanceRequest(maintenanceRequest);
|
|
Assert.IsNotNull(result);
|
|
var okResult = result as BadRequestErrorMessageResult;
|
|
Assert.IsNotNull(okResult);
|
|
_mockAccountService.Verify();
|
|
}
|
|
[TestMethod]
|
|
public void PutAccountNickNameUpdateRequest_OK()
|
|
{
|
|
var maintenanceRequest = new AccountNickNameUpdateRequest
|
|
{
|
|
AccountNumber = 11111111,
|
|
AccountDescription = "TestSuccess"
|
|
};
|
|
|
|
var maintenanceResponse = new AccountAnalysisMaintenanceResponse
|
|
{
|
|
WasSuccessful = true
|
|
};
|
|
|
|
_mockAccountService.Setup(x => x.SendAccountNickNameUpdateRequest(maintenanceRequest)).Returns(new BasicResponse(maintenanceResponse)).Verifiable();
|
|
|
|
var result = _controller.PutAccountNickNameUpdateRequest(maintenanceRequest);
|
|
Assert.IsNotNull(result);
|
|
var okResult = result as OkNegotiatedContentResult<BasicResponse>;
|
|
Assert.IsNotNull(okResult);
|
|
Assert.IsTrue((bool)okResult.Content.Success);
|
|
_mockAccountService.Verify();
|
|
}
|
|
|
|
[TestMethod]
|
|
public void PutAccountNickNameUpdateRequest_Exception()
|
|
{
|
|
var maintenanceRequest = new AccountNickNameUpdateRequest
|
|
{
|
|
AccountNumber = 11111111,
|
|
AccountDescription = "TestException"
|
|
};
|
|
|
|
_mockAccountService.Setup(x => x.SendAccountNickNameUpdateRequest(maintenanceRequest)).Throws(new Exception("Error thrown in unit test.")).Verifiable();
|
|
|
|
var result = _controller.PutAccountNickNameUpdateRequest(maintenanceRequest);
|
|
Assert.IsNotNull(result);
|
|
var okResult = result as BadRequestErrorMessageResult;
|
|
Assert.IsNotNull(okResult);
|
|
_mockAccountService.Verify();
|
|
}
|
|
[TestMethod]
|
|
public void PutAccountCreditReportTypeUpdateRequest_OK()
|
|
{
|
|
var maintenanceRequest = new AccountCreditReportTypeUpdateRequest
|
|
{
|
|
AccountNumber = 11111111,
|
|
CreditReportType = "EXCL"
|
|
};
|
|
|
|
var maintenanceResponse = new AccountAnalysisMaintenanceResponse
|
|
{
|
|
WasSuccessful = true
|
|
};
|
|
|
|
_mockAccountService.Setup(x => x.SendAccountCreditReportTypeUpdateRequest(maintenanceRequest)).Returns(new BasicResponse(maintenanceResponse)).Verifiable();
|
|
|
|
var result = _controller.PutAccountCreditReportTypeUpdateRequest(maintenanceRequest);
|
|
Assert.IsNotNull(result);
|
|
var okResult = result as OkNegotiatedContentResult<BasicResponse>;
|
|
Assert.IsNotNull(okResult);
|
|
Assert.IsTrue((bool)okResult.Content.Success);
|
|
_mockAccountService.Verify();
|
|
}
|
|
|
|
[TestMethod]
|
|
public void PutAccountCreditReportTypeUpdateRequest_Exception()
|
|
{
|
|
var maintenanceRequest = new AccountCreditReportTypeUpdateRequest
|
|
{
|
|
AccountNumber = 11111111,
|
|
CreditReportType = "EXCL"
|
|
};
|
|
|
|
_mockAccountService.Setup(x => x.SendAccountCreditReportTypeUpdateRequest(maintenanceRequest)).Throws(new Exception("Error thrown in unit test.")).Verifiable();
|
|
|
|
var result = _controller.PutAccountCreditReportTypeUpdateRequest(maintenanceRequest);
|
|
Assert.IsNotNull(result);
|
|
var okResult = result as BadRequestErrorMessageResult;
|
|
Assert.IsNotNull(okResult);
|
|
_mockAccountService.Verify();
|
|
}
|
|
|
|
[TestMethod]
|
|
public void PutAccountContractDateUpdateRequest_OK()
|
|
{
|
|
var maintenanceRequest = new AccountContractDateUpdateRequest
|
|
{
|
|
AccountNumber = 11111111,
|
|
ContractDate = DateTime.Now,
|
|
};
|
|
|
|
var maintenanceResponse = new AccountAnalysisMaintenanceResponse
|
|
{
|
|
WasSuccessful = true
|
|
};
|
|
|
|
_mockAccountService.Setup(x => x.SendAccountContractDateUpdateRequest(maintenanceRequest)).Returns(new BasicResponse(maintenanceResponse)).Verifiable();
|
|
|
|
var result = _controller.PutAccountContractDateUpdateRequest(maintenanceRequest);
|
|
Assert.IsNotNull(result);
|
|
var okResult = result as OkNegotiatedContentResult<BasicResponse>;
|
|
Assert.IsNotNull(okResult);
|
|
Assert.IsTrue((bool)okResult.Content.Success);
|
|
_mockAccountService.Verify();
|
|
}
|
|
|
|
[TestMethod]
|
|
public void PutAccountContractDateUpdateRequest_Exception()
|
|
{
|
|
var maintenanceRequest = new AccountContractDateUpdateRequest
|
|
{
|
|
AccountNumber = 11111111,
|
|
ContractDate = DateTime.Now,
|
|
};
|
|
|
|
_mockAccountService.Setup(x => x.SendAccountContractDateUpdateRequest(maintenanceRequest)).Throws(new Exception("Error thrown in unit test.")).Verifiable();
|
|
|
|
var result = _controller.PutAccountContractDateUpdateRequest(maintenanceRequest);
|
|
Assert.IsNotNull(result);
|
|
var okResult = result as BadRequestErrorMessageResult;
|
|
Assert.IsNotNull(okResult);
|
|
_mockAccountService.Verify();
|
|
}
|
|
}
|
|
} |