Files
monorepo/LCU.Api.Internal.CoreApiWrapper/LCU.Api.Internal.CoreApiWrapperTest/Controllers/AccountUserFieldControllerTest.cs
T
2026-03-31 14:32:23 -05:00

176 lines
6.1 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.Accounts;
namespace LCU.Api.Internal.CoreApiWrapperTest.Controllers
{
public class AccountUserFieldControllerTest
{
private AccountUserFieldController _accountUserFieldController;
private Mock<IAccountUserFieldService> _mockAccountUserFieldService;
[SetUp]
public void SetUp()
{
_mockAccountUserFieldService = new Mock<IAccountUserFieldService>();
_accountUserFieldController = new AccountUserFieldController(_mockAccountUserFieldService.Object);
}
[Test]
public async Task PutAccountUserFields_OK()
{
var accountUserField1 = new AccountUserField()
{
Id = "TEST1",
AccountNumber = 100001,
UserFieldCode = "TEST1",
Value = "N"
};
var accountUserField2 = new AccountUserField()
{
Id = "TEST2",
AccountNumber = 100002,
UserFieldCode = "TEST2",
Value = "Y"
};
_mockAccountUserFieldService.Setup(x => x.UpdateAccountUserFieldsAsync(It.IsAny<List<AccountUserFieldRequest>>())).ReturnsAsync(
new List<AccountUserField>()
{
accountUserField1,
accountUserField2
});
var accountUserFieldUpdateRequest = new List<AccountUserFieldRequest>()
{
new AccountUserFieldRequest()
{
AccountNumber = 100001,
UserFieldCode = "TEST1",
Value = "Y"
},
new AccountUserFieldRequest()
{
AccountNumber = 100002,
UserFieldCode = "TEST2",
Value = "N"
}
};
var results = await _accountUserFieldController.Put(accountUserFieldUpdateRequest);
Assert.NotNull(results);
var okResult = results as OkObjectResult;
Assert.NotNull(okResult);
Assert.AreEqual(200, okResult.StatusCode);
}
[Test]
public async Task PutAccountUserFields_Exception()
{
_mockAccountUserFieldService.Setup(x => x.UpdateAccountUserFieldsAsync(It.IsAny<List<AccountUserFieldRequest>>())).Throws(new Exception("Oops"));
var accountUserFieldUpdateRequest = new List<AccountUserFieldRequest>()
{
new AccountUserFieldRequest()
{
AccountNumber = 100001,
UserFieldCode = "TEST1",
Value = "Y"
},
new AccountUserFieldRequest()
{
AccountNumber = 100002,
UserFieldCode = "TEST2",
Value = "N"
}
};
var results = await _accountUserFieldController.Put(accountUserFieldUpdateRequest);
Assert.NotNull(results);
var badRes = results as BadRequestObjectResult;
Assert.NotNull(badRes);
Assert.AreEqual(400, badRes.StatusCode);
}
[Test]
public async Task PostAccountUserFields_OK()
{
var accountUserField1 = new AccountUserField()
{
Id = "TEST1",
AccountNumber = 100001,
UserFieldCode = "TEST1",
Value = "N"
};
var accountUserField2 = new AccountUserField()
{
Id = "TEST2",
AccountNumber = 100002,
UserFieldCode = "TEST2",
Value = "Y"
};
_mockAccountUserFieldService.Setup(x => x.InsertAccountUserFieldsAsync(It.IsAny<List<AccountUserFieldRequest>>())).ReturnsAsync(
new List<AccountUserField>()
{
accountUserField1,
accountUserField2
});
var accountUserFieldUpdateRequest = new List<AccountUserFieldRequest>()
{
new AccountUserFieldRequest()
{
AccountNumber = 100001,
UserFieldCode = "TEST1",
Value = "Y"
},
new AccountUserFieldRequest()
{
AccountNumber = 100002,
UserFieldCode = "TEST2",
Value = "N"
}
};
var results = await _accountUserFieldController.Post(accountUserFieldUpdateRequest);
Assert.NotNull(results);
var okResult = results as OkObjectResult;
Assert.NotNull(okResult);
Assert.AreEqual(200, okResult.StatusCode);
}
[Test]
public async Task PostAccountUserFields_Exception()
{
_mockAccountUserFieldService.Setup(x => x.InsertAccountUserFieldsAsync(It.IsAny<List<AccountUserFieldRequest>>())).Throws(new Exception("Oops"));
var accountUserFieldUpdateRequest = new List<AccountUserFieldRequest>()
{
new AccountUserFieldRequest()
{
AccountNumber = 100001,
UserFieldCode = "TEST1",
Value = "Y"
},
new AccountUserFieldRequest()
{
AccountNumber = 100002,
UserFieldCode = "TEST2",
Value = "N"
}
};
var results = await _accountUserFieldController.Post(accountUserFieldUpdateRequest);
Assert.NotNull(results);
var badRes = results as BadRequestObjectResult;
Assert.NotNull(badRes);
Assert.AreEqual(400, badRes.StatusCode);
}
}
}