Files
2026-04-20 14:47:24 -05:00

370 lines
11 KiB
C#

using LCU.API.Collections.RepoApi.Controllers;
using LCU.API.Collections.RepoApi.Services;
using LCU.Shared.Collections.RepoApiLib.Models.Settings;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Moq;
using Xunit;
namespace LCU.API.Collections.RepoApiTests.Controllers
{
public class SettingsControllerTest
{
private readonly Mock<ISettingsService> mockSettingsService;
private readonly Settings settings;
private readonly SettingsController controller;
private readonly Mock<IHttpContextAccessor> mockHttpContextAccessor;
public SettingsControllerTest()
{
mockSettingsService = new Mock<ISettingsService>();
settings = new Settings();
mockHttpContextAccessor = new Mock<IHttpContextAccessor>();
controller = new SettingsController(mockSettingsService.Object,
mockHttpContextAccessor.Object);
}
// Get tests
[Fact]
public async void Get_OK()
{
// arrange
mockSettingsService.Setup(x => x.ListAllSettingsAsync()).ReturnsAsync(settings);
// act
var result = await controller.Get();
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
var okValue = okResult.Value as Settings;
Assert.NotNull(okValue);
Assert.Equal(settings, okValue);
}
// Put tests
[Fact]
public async void Put_Account_Type_OK()
{
// arrange
var putAccountType = new AccountType();
// act
var result = await controller.PutAccountType(putAccountType);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
[Fact]
public async void Put_Allowed_Status_Change_OK()
{
// arrange
var putAllowedStatusChange = new AllowedStatusChange();
// act
var result = await controller.PutAllowedStatusChange(putAllowedStatusChange);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
[Fact]
public async void Put_Body_Style_OK()
{
// arrange
var putBodyStyle = new BodyStyle();
// act
var result = await controller.PutBodyStyle(putBodyStyle);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
[Fact]
public async void Put_Cleaning_Level_OK()
{
// arrange
var putCleaningLevel = new CleaningLevel();
// act
var result = await controller.PutCleaningLevel(putCleaningLevel);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
[Fact]
public async void Put_CollateralType_OK()
{
// arrange
var putCollateralType = new CollateralType();
// act
var result = await controller.PutCollateralType(putCollateralType);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
[Fact]
public async void Put_CollateralTypeToVehicleType_OK()
{
// arrange
var putCollateralToVehicle = new CollateralTypeToVehicleType();
// act
var result = await controller.PutCollateralTypeToVehicleType(putCollateralToVehicle);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
[Fact]
public async void Put_Hold_Status_OK()
{
// arrange
var putHoldStatus = new HoldStatus();
// act
var result = await controller.PutHoldStatus(putHoldStatus);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
[Fact]
public async void Put_Loan_Category_OK()
{
// arrange
var putLoanCategory = new LoanCategory();
// act
var result = await controller.PutLoanCategory(putLoanCategory);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
[Fact]
public async void Put_Location_Type_OK()
{
// arrange
var putLocationType = new LocationType();
// act
var result = await controller.PutLocationType(putLocationType);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
[Fact]
public async void Put_Vehicle_Type_OK()
{
// arrange
var putVehicleType = new VehicleType();
// act
var result = await controller.PutVehicleType(putVehicleType);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
// Post tests
[Fact]
public async void Post_Account_Type_OK()
{
// arrange
var postAccountType = new AccountType();
// act
var result = await controller.PostAccountType(postAccountType);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
[Fact]
public async void Post_Allowed_Status_Change_OK()
{
// arrange
var postStatusChange = new AllowedStatusChange();
// act
var result = await controller.PostAllowedStatusChange(postStatusChange);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
[Fact]
public async void Post_Body_Style_OK()
{
// arrange
var postBodyStyle = new BodyStyle();
// act
var result = await controller.PostBodyStyle(postBodyStyle);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
[Fact]
public async void Post_Cleaning_Level_OK()
{
// arrange
var postCleaningLevel = new CleaningLevel();
// act
var result = await controller.PostCleaningLevel(postCleaningLevel);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
[Fact]
public async void Post_Collateral_Type_OK()
{
// arrange
var postCollateralType = new CollateralType();
// act
var result = await controller.PostCollateralType(postCollateralType);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
[Fact]
public async void Post_Collateral_Type_To_Vehicle_Type_OK()
{
// arrange
var postCollateralTypeToVehicleType = new CollateralTypeToVehicleType();
// act
var result = await controller.PostCollateralTypeToVehicleType(postCollateralTypeToVehicleType);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
[Fact]
public async void Post_Hold_Status_OK()
{
// arrange
var postHoldStatus = new HoldStatus();
// act
var result = await controller.PostHoldStatus(postHoldStatus);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
[Fact]
public async void Post_Loan_Category_OK()
{
// arrange
var postLoanCategory = new LoanCategory();
// act
var result = await controller.PostLoanCategory(postLoanCategory);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
[Fact]
public async void Post_Location_Type_OK()
{
// arrange
var postLocationType = new LocationType();
// act
var result = await controller.PostLocationType(postLocationType);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
[Fact]
public async void Post_Vehicle_Type_OK()
{
// arrange
var postVehicleType = new VehicleType();
// act
var result = await controller.PostVehicleType(postVehicleType);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
}
}