Adding
This commit is contained in:
+120
@@ -0,0 +1,120 @@
|
||||
using System.Collections.Generic;
|
||||
using LCU.API.Collections.RepoApi.Controllers;
|
||||
using LCU.API.Collections.RepoApi.Models.Filters;
|
||||
using LCU.API.Collections.RepoApi.Models.Requests;
|
||||
using LCU.API.Collections.RepoApi.Models.Responses;
|
||||
using LCU.API.Collections.RepoApi.Services;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models.Results;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
||||
namespace LCU.API.Collections.RepoApiTests.Controllers
|
||||
{
|
||||
public class AuctionAssignmentControllerTest
|
||||
{
|
||||
private readonly AuctionAssignmentController controller;
|
||||
private readonly Mock<IAuctionAssignmentService> mockAuctionAssignmentServiceService;
|
||||
private readonly Mock<IFloorPricingService> mockloorPricingService;
|
||||
private readonly Mock<IHttpContextAccessor> mockHttpContextAccessor;
|
||||
|
||||
public AuctionAssignmentControllerTest()
|
||||
{
|
||||
mockAuctionAssignmentServiceService = new Mock<IAuctionAssignmentService>();
|
||||
mockloorPricingService = new Mock<IFloorPricingService>();
|
||||
mockHttpContextAccessor = new Mock<IHttpContextAccessor>();
|
||||
controller = new AuctionAssignmentController(
|
||||
mockAuctionAssignmentServiceService.Object,
|
||||
mockloorPricingService.Object,
|
||||
mockHttpContextAccessor.Object
|
||||
);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Get_OK()
|
||||
{
|
||||
mockAuctionAssignmentServiceService.Setup(service => service.ListByFilterAsync(It.IsAny<AuctionAssignmentFilter>())).ReturnsAsync(
|
||||
new PagedResult<AuctionAssignment>()
|
||||
{
|
||||
Total = 1,
|
||||
Items = new List<AuctionAssignment>()
|
||||
{
|
||||
new AuctionAssignment()
|
||||
}
|
||||
});
|
||||
|
||||
var filter = new AuctionAssignmentFilter();
|
||||
var result = await controller.Get(filter);
|
||||
Assert.NotNull(result);
|
||||
|
||||
var okResult = result as OkObjectResult;
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
|
||||
var okValue = okResult.Value as PagedResponse<AuctionAssignment>;
|
||||
Assert.NotNull(okValue);
|
||||
Assert.Equal(1, okValue.TotalItems);
|
||||
mockAuctionAssignmentServiceService.Verify(x => x.ListByFilterAsync(It.IsAny<AuctionAssignmentFilter>()), Times.Once);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Post_OK()
|
||||
{
|
||||
mockAuctionAssignmentServiceService.Setup(service => service.SaveAsync(It.IsAny<AuctionAssignmentPostRequest>())).ReturnsAsync(
|
||||
new AuctionAssignmentPostRequest()
|
||||
{
|
||||
AuctionAssignment = new AuctionAssignment()
|
||||
{
|
||||
CollateralVIN = "abcde",
|
||||
}
|
||||
});
|
||||
|
||||
//var controller = new AuctionAssignmentController(mockService.Object, mockAutoIms.Object);
|
||||
var result = await controller.Post(new AuctionAssignmentPostRequest()
|
||||
{
|
||||
Collaterals = new List<Collateral>
|
||||
{
|
||||
new Collateral()
|
||||
}
|
||||
});
|
||||
Assert.NotNull(result);
|
||||
|
||||
var okResult = result as OkObjectResult;
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
|
||||
var okValue = okResult.Value as AuctionAssignmentPostRequest;
|
||||
Assert.NotNull(okValue);
|
||||
Assert.Equal("abcde", okValue.AuctionAssignment.CollateralVIN);
|
||||
mockAuctionAssignmentServiceService.Verify(x => x.SaveAsync(It.IsAny<AuctionAssignmentPostRequest>()), Times.Once);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Bad_GetById_Fails()
|
||||
{
|
||||
var result = await controller.GetById(0);
|
||||
Assert.NotNull(result);
|
||||
|
||||
var badRequest = result as BadRequestObjectResult;
|
||||
Assert.NotNull(badRequest);
|
||||
Assert.Equal(400, badRequest.StatusCode);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Put_IdMismatch_Fails()
|
||||
{
|
||||
var auctionAssignmentToPut = new AuctionAssignment()
|
||||
{
|
||||
ID = 2
|
||||
};
|
||||
var result = await controller.Put(1, auctionAssignmentToPut);
|
||||
Assert.NotNull(result);
|
||||
|
||||
var badRequest = result as BadRequestObjectResult;
|
||||
Assert.NotNull(badRequest);
|
||||
Assert.Equal(400, badRequest.StatusCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
+105
@@ -0,0 +1,105 @@
|
||||
using System.Collections.Generic;
|
||||
using LCU.API.Collections.RepoApi.Controllers;
|
||||
using LCU.API.Collections.RepoApi.Services;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
||||
namespace LCU.API.Collections.RepoApiTests.Controllers
|
||||
{
|
||||
public class AuctionHouseControllerTest
|
||||
{
|
||||
private readonly Mock<IAuctionHouseService> mockAuctionHouseService;
|
||||
private readonly AuctionHouseController controller;
|
||||
private readonly Mock<IHttpContextAccessor> mockHttpContextAccessor;
|
||||
|
||||
public AuctionHouseControllerTest()
|
||||
{
|
||||
mockAuctionHouseService = new Mock<IAuctionHouseService>();
|
||||
mockHttpContextAccessor = new Mock<IHttpContextAccessor>();
|
||||
controller = new AuctionHouseController(mockAuctionHouseService.Object,
|
||||
mockHttpContextAccessor.Object);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Get_OK()
|
||||
{
|
||||
// arrange
|
||||
mockAuctionHouseService.Setup(service => service.ListAllAsync()).ReturnsAsync(new List<AuctionHouse>()
|
||||
{
|
||||
new AuctionHouse()
|
||||
{
|
||||
Name = "Auction House A"
|
||||
}
|
||||
});
|
||||
|
||||
// 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 IEnumerable<AuctionHouse>;
|
||||
Assert.NotNull(okValue);
|
||||
|
||||
var enumerator = okValue.GetEnumerator();
|
||||
enumerator.MoveNext();
|
||||
Assert.NotNull(enumerator.Current);
|
||||
Assert.Equal("Auction House A", enumerator.Current.Name);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Post_OK()
|
||||
{
|
||||
// arrange
|
||||
mockAuctionHouseService.Setup(service => service.SaveAsync(It.IsAny<AuctionHouse>())).ReturnsAsync(
|
||||
new AuctionHouse()
|
||||
{
|
||||
Name = "Auction House A"
|
||||
});
|
||||
|
||||
// act
|
||||
var result = await controller.Post(new AuctionHouse()
|
||||
{
|
||||
Name = "Auction House A"
|
||||
});
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
|
||||
var okValue = okResult.Value as AuctionHouse;
|
||||
Assert.NotNull(okValue);
|
||||
Assert.Equal("Auction House A", okValue.Name);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Put_Bad_Request()
|
||||
{
|
||||
// arrange
|
||||
mockAuctionHouseService.Setup(service => service.UpdateAsync(It.IsAny<AuctionHouse>()))
|
||||
.ReturnsAsync(new AuctionHouse());
|
||||
|
||||
// act
|
||||
var result = await controller.Put("ID1", new AuctionHouse()
|
||||
{
|
||||
AuctionID = "ID2"
|
||||
});
|
||||
|
||||
|
||||
// assert
|
||||
Assert.NotNull(result);
|
||||
var badRequestResult = result as BadRequestObjectResult;
|
||||
|
||||
Assert.NotNull(badRequestResult);
|
||||
Assert.Equal(StatusCodes.Status400BadRequest, badRequestResult.StatusCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
+114
@@ -0,0 +1,114 @@
|
||||
using System.Collections.Generic;
|
||||
using LCU.API.Collections.RepoApi.Controllers;
|
||||
using LCU.API.Collections.RepoApi.Models.Filters;
|
||||
using LCU.API.Collections.RepoApi.Models.Responses;
|
||||
using LCU.API.Collections.RepoApi.Services;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models.Results;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
||||
namespace LCU.API.Collections.RepoApiTests.Controllers
|
||||
{
|
||||
public class AuditRecordControllerTest
|
||||
{
|
||||
private readonly Mock<IAuditRecordService> mockAuditRecordService;
|
||||
private readonly AuditRecordController controller;
|
||||
private readonly Mock<IHttpContextAccessor> mockHttpContextAccessor;
|
||||
|
||||
public AuditRecordControllerTest()
|
||||
{
|
||||
mockAuditRecordService = new Mock<IAuditRecordService>();
|
||||
mockHttpContextAccessor = new Mock<IHttpContextAccessor>();
|
||||
controller = new AuditRecordController(mockAuditRecordService.Object,
|
||||
mockHttpContextAccessor.Object);
|
||||
}
|
||||
|
||||
// Get tests
|
||||
[Fact]
|
||||
public async void Get_OK()
|
||||
{
|
||||
mockAuditRecordService.Setup(service => service.ListAll(It.IsAny<PageFilter>())).ReturnsAsync(
|
||||
new PagedResult<AuditRecord>()
|
||||
{
|
||||
Total = 1,
|
||||
Items = new List<AuditRecord>()
|
||||
{
|
||||
new AuditRecord()
|
||||
{
|
||||
Action = "action",
|
||||
ClassName = "Something",
|
||||
Description = "changed something field 1",
|
||||
PerformedBy = "Developer",
|
||||
KeyRepresentation = "111"
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// arrange
|
||||
var filter = new PageFilter();
|
||||
|
||||
// act
|
||||
var result = await controller.Get(filter);
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
|
||||
var okValue = okResult.Value as PagedResponse<AuditRecord>;
|
||||
Assert.NotNull(okValue);
|
||||
Assert.Equal(1, okValue.TotalItems);
|
||||
}
|
||||
|
||||
// Post tests
|
||||
[Fact]
|
||||
public async void Post_OK()
|
||||
{
|
||||
// arrange
|
||||
var postAudit = new AuditRecord()
|
||||
{
|
||||
Action = "action",
|
||||
ClassName = "Something",
|
||||
Description = "changed something field 1",
|
||||
PerformedBy = "Developer",
|
||||
KeyRepresentation = "111"
|
||||
};
|
||||
|
||||
// act
|
||||
var result = await controller.Post(postAudit);
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Post_Bad_Request()
|
||||
{
|
||||
// arrange
|
||||
var postAudit = new AuditRecord()
|
||||
{
|
||||
Action = "action",
|
||||
ClassName = "Something",
|
||||
Description = "changed something field 1",
|
||||
KeyRepresentation = "111"
|
||||
};
|
||||
controller.ModelState.AddModelError("PerformedBy", "The performed by field is required.");
|
||||
|
||||
// act
|
||||
var result = await controller.Post(postAudit);
|
||||
Assert.NotNull(result);
|
||||
var badRequestResult = result as BadRequestObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(badRequestResult);
|
||||
Assert.Equal(StatusCodes.Status400BadRequest, badRequestResult.StatusCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
+125
@@ -0,0 +1,125 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using LCU.API.Collections.RepoApi.Controllers;
|
||||
using LCU.API.Collections.RepoApi.Services;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
||||
namespace LCU.API.Collections.RepoApiTests.Controllers
|
||||
{
|
||||
public class CollateralControllerTest
|
||||
{
|
||||
private readonly Mock<ICollateralService> mockCollateralService;
|
||||
private readonly CollateralController controller;
|
||||
private readonly Mock<IHttpContextAccessor> mockHttpContextAccessor;
|
||||
|
||||
public CollateralControllerTest()
|
||||
{
|
||||
mockCollateralService = new Mock<ICollateralService>();
|
||||
mockHttpContextAccessor = new Mock<IHttpContextAccessor>();
|
||||
controller = new CollateralController(mockCollateralService.Object,
|
||||
mockHttpContextAccessor.Object);
|
||||
}
|
||||
|
||||
// Get tests
|
||||
[Fact]
|
||||
public async void Get_OK()
|
||||
{
|
||||
// arrange
|
||||
var collateral = new List<Collateral>
|
||||
{
|
||||
new Collateral()
|
||||
{
|
||||
CollateralId = 1234567,
|
||||
RepoId = 2345678
|
||||
}
|
||||
};
|
||||
mockCollateralService.Setup(x => x.ListAll()).ReturnsAsync(collateral);
|
||||
|
||||
// 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 IEnumerable<Collateral>;
|
||||
Assert.NotNull(okValue);
|
||||
Assert.True(collateral.SequenceEqual(okValue));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void GetById_OK()
|
||||
{
|
||||
// arrange
|
||||
var repos = new List<Collateral>
|
||||
{
|
||||
new Collateral()
|
||||
{
|
||||
CollateralId = 1234567,
|
||||
RepoId = 2345678
|
||||
}
|
||||
};
|
||||
mockCollateralService.Setup(x => x.Get(It.IsAny<int>())).ReturnsAsync(repos.First());
|
||||
|
||||
// act
|
||||
var result = await controller.GetById(1234567);
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
|
||||
var okValue = okResult.Value as Collateral;
|
||||
Assert.NotNull(okValue);
|
||||
Assert.Equal(2345678, okValue.RepoId);
|
||||
}
|
||||
|
||||
// Post tests
|
||||
[Fact]
|
||||
public async void Post_OK()
|
||||
{
|
||||
// arrange
|
||||
var postCollateral = new Collateral()
|
||||
{
|
||||
CollateralId = 1234567,
|
||||
RepoId = 2345678
|
||||
};
|
||||
|
||||
// act
|
||||
var result = await controller.Post(postCollateral);
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Post_Bad_Request()
|
||||
{
|
||||
// arrange
|
||||
var postCollateral = new Collateral()
|
||||
{
|
||||
CollateralId = 1234567,
|
||||
};
|
||||
controller.ModelState.AddModelError("Message", "The message field is required.");
|
||||
|
||||
// act
|
||||
var result = await controller.Post(postCollateral);
|
||||
Assert.NotNull(result);
|
||||
var badRequestResult = result as BadRequestObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(badRequestResult);
|
||||
Assert.Equal(StatusCodes.Status400BadRequest, badRequestResult.StatusCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
+252
@@ -0,0 +1,252 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using LCU.API.Collections.RepoApi.Controllers;
|
||||
using LCU.API.Collections.RepoApi.Services;
|
||||
using LCU.Shared.Collections.RepoApiLib.Exceptions;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
||||
namespace LCU.API.Collections.RepoApiTests.Controllers
|
||||
{
|
||||
public class EventAlertControllerTest
|
||||
{
|
||||
private readonly EventAlertController controller;
|
||||
private readonly Mock<IEventAlertService> mockEventAlertService;
|
||||
private readonly Mock<IRepoAccountService> mockRepoService;
|
||||
private readonly Mock<IHttpContextAccessor> mockHttpContextAccessor;
|
||||
|
||||
public EventAlertControllerTest()
|
||||
{
|
||||
mockEventAlertService = new Mock<IEventAlertService>();
|
||||
mockRepoService = new Mock<IRepoAccountService>();
|
||||
mockHttpContextAccessor = new Mock<IHttpContextAccessor>();
|
||||
controller = new EventAlertController(mockEventAlertService.Object,
|
||||
mockRepoService.Object, mockHttpContextAccessor.Object);
|
||||
}
|
||||
|
||||
// Get tests
|
||||
[Fact]
|
||||
public async void Get_OK()
|
||||
{
|
||||
// arrange
|
||||
var alerts = new List<EventAlert>
|
||||
{
|
||||
new EventAlert()
|
||||
{
|
||||
AccountNo = "1234567-98",
|
||||
Message = "Status is O4R"
|
||||
}
|
||||
};
|
||||
mockEventAlertService.Setup(x => x.ListAll()).ReturnsAsync(alerts);
|
||||
|
||||
// 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 IEnumerable<EventAlert>;
|
||||
Assert.NotNull(okValue);
|
||||
Assert.True(alerts.SequenceEqual(okValue));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Get_UnreadOnly_OK()
|
||||
{
|
||||
// arrange
|
||||
var expected = new EventAlert()
|
||||
{
|
||||
AccountNo = "1234567-99",
|
||||
Message = "Status is O4R"
|
||||
};
|
||||
mockEventAlertService.Setup(x => x.ListUnread()).ReturnsAsync(new List<EventAlert> {expected});
|
||||
|
||||
// act
|
||||
var result = await controller.Get(unreadOnly: true);
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
|
||||
var okValue = okResult.Value as IEnumerable<EventAlert>;
|
||||
Assert.NotNull(okValue);
|
||||
Assert.Single(okValue);
|
||||
Assert.Equal(expected, okValue.First());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Get_ActionNeeded_OK()
|
||||
{
|
||||
// arrange
|
||||
var expected = new EventAlert()
|
||||
{
|
||||
AccountNo = "1234567-90",
|
||||
Message = "Status is O4R"
|
||||
};
|
||||
mockEventAlertService.Setup(x => x.ListActionNeeded()).ReturnsAsync(new List<EventAlert> {expected});
|
||||
|
||||
// act
|
||||
var result = await controller.Get(actionNeeded: true);
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
|
||||
var okValue = okResult.Value as IEnumerable<EventAlert>;
|
||||
Assert.NotNull(okValue);
|
||||
Assert.Single(okValue);
|
||||
Assert.Equal(expected, okValue.First());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Get_WithinDateRange_OK()
|
||||
{
|
||||
// arrange
|
||||
var startDate = DateTime.Now.AddSeconds(-5);
|
||||
var endDate = DateTime.Now.AddSeconds(5);
|
||||
var expected = new EventAlert()
|
||||
{
|
||||
DateAdded = DateTime.Now,
|
||||
AccountNo = "1234567-99",
|
||||
Message = "Status is O4R"
|
||||
};
|
||||
mockEventAlertService.Setup(x => x.ListWithinDateRange(startDate, endDate))
|
||||
.ReturnsAsync(new List<EventAlert> {expected});
|
||||
|
||||
// act
|
||||
var result = await controller.GetWithinDateRange(startDate, endDate);
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
|
||||
var okValue = okResult.Value as IEnumerable<EventAlert>;
|
||||
Assert.NotNull(okValue);
|
||||
Assert.Single(okValue);
|
||||
Assert.Equal(expected, okValue.First());
|
||||
}
|
||||
|
||||
// Post tests
|
||||
[Fact]
|
||||
public async void Post_OK()
|
||||
{
|
||||
// arrange
|
||||
var postAlert = new EventAlert()
|
||||
{
|
||||
AccountNo = "1234567-98",
|
||||
Message = "Status is O4R"
|
||||
};
|
||||
|
||||
// act
|
||||
var result = await controller.Post(postAlert);
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Post_By_Auction_ID_OK()
|
||||
{
|
||||
// arrange
|
||||
mockRepoService.Setup(x => x.FindByAuctionAssignmentId(5)).ReturnsAsync(new RepoAccount()
|
||||
{
|
||||
RepoId = 10,
|
||||
AccountNo = "12345"
|
||||
});
|
||||
|
||||
var postAlert = new EventAlert()
|
||||
{
|
||||
AccountNo = "1234567-98",
|
||||
Message = "Status is O4R"
|
||||
};
|
||||
|
||||
// act
|
||||
var result = await controller.CreateByAuctionAssignmentId(5, postAlert);
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
mockRepoService.Verify(x => x.FindByAuctionAssignmentId(5), Times.Once);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Post_Bad_Request()
|
||||
{
|
||||
// arrange
|
||||
var postAlert = new EventAlert()
|
||||
{
|
||||
AccountNo = "1234567-98",
|
||||
};
|
||||
controller.ModelState.AddModelError("Message", "The message field is required.");
|
||||
|
||||
// act
|
||||
var result = await controller.Post(postAlert);
|
||||
Assert.NotNull(result);
|
||||
var badRequestResult = result as BadRequestObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(badRequestResult);
|
||||
Assert.Equal(StatusCodes.Status400BadRequest, badRequestResult.StatusCode);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Post_By_AuctionAssignment_Bad_Request()
|
||||
{
|
||||
// arrange
|
||||
mockEventAlertService.Setup(x => x.SaveAsync(It.IsAny<EventAlert>())).Verifiable();
|
||||
mockRepoService.Setup(x => x.FindByAuctionAssignmentId(5)).Returns(Task.FromResult<RepoAccount>(null));
|
||||
var postAlert = new EventAlert()
|
||||
{
|
||||
AccountNo = "1234567-98",
|
||||
};
|
||||
|
||||
// act
|
||||
var result = await controller.CreateByAuctionAssignmentId(5, postAlert);
|
||||
Assert.NotNull(result);
|
||||
var badRequestResult = result as BadRequestObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(badRequestResult);
|
||||
Assert.Equal(StatusCodes.Status400BadRequest, badRequestResult.StatusCode);
|
||||
mockRepoService.Verify(x => x.FindByAuctionAssignmentId(5), Times.Once);
|
||||
mockEventAlertService.Verify(x => x.SaveAsync(It.IsAny<EventAlert>()), Times.Never);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Duplicate_Add_Bad_Request()
|
||||
{
|
||||
// arrange
|
||||
mockEventAlertService.Setup(x => x.SaveAsync(It.IsAny<EventAlert>())).ThrowsAsync(
|
||||
new DuplicateResourceException("EventAlert"));
|
||||
|
||||
// act
|
||||
var result = await controller.Post(new EventAlert());
|
||||
Assert.NotNull(result);
|
||||
var requestResult = result as ObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(requestResult);
|
||||
Assert.Equal(StatusCodes.Status409Conflict, requestResult.StatusCode);
|
||||
Assert.Equal("A Duplicate Event Alert already exists.", requestResult.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
using System.Collections.Generic;
|
||||
using LCU.API.Collections.RepoApi.Controllers;
|
||||
using LCU.API.Collections.RepoApi.Models.Responses;
|
||||
using LCU.API.Collections.RepoApi.Services;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
||||
namespace LCU.API.Collections.RepoApiTests.Controllers
|
||||
{
|
||||
public class FactoidControllerTest
|
||||
{
|
||||
private readonly FactoidController controller;
|
||||
private readonly Mock<IFactoidService> mockFactoidService;
|
||||
private readonly Mock<IHttpContextAccessor> mockHttpContextAccessor;
|
||||
|
||||
public FactoidControllerTest()
|
||||
{
|
||||
mockFactoidService = new Mock<IFactoidService>();
|
||||
mockHttpContextAccessor = new Mock<IHttpContextAccessor>();
|
||||
controller = new FactoidController(mockHttpContextAccessor.Object,
|
||||
mockFactoidService.Object);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Get_All_Factoids_OK()
|
||||
{
|
||||
// act
|
||||
var result = await controller.GetAllFactoids();
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
|
||||
var factoidResponses = okResult.Value as IReadOnlyCollection<FactoidResponse>;
|
||||
Assert.Equal(10, factoidResponses.Count);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Get_Factoid_O4R_OK()
|
||||
{
|
||||
// act
|
||||
var result = await controller.GetAllAccountsO4R();
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
+81
@@ -0,0 +1,81 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using LCU.API.Collections.RepoApi.Controllers;
|
||||
using LCU.API.Collections.RepoApi.Services;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models.Producer;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Xunit;
|
||||
using Moq;
|
||||
namespace LCU.API.Collections.RepoApiTests.Controllers
|
||||
{
|
||||
public class ProcessingReceiptControllerTest
|
||||
{
|
||||
List<ProcessingReceipt> list = new List<ProcessingReceipt>()
|
||||
{
|
||||
new ProcessingReceipt("123456-888")
|
||||
{
|
||||
Message = "x",
|
||||
Outcome = RepoProcessingResult.Error,
|
||||
Processed = DateTime.Now,
|
||||
AccountId = "321",
|
||||
CaseId = "",
|
||||
QueuedBy = "Testing"
|
||||
},
|
||||
new ProcessingReceipt("123456-888")
|
||||
{
|
||||
Message = "y",
|
||||
Outcome = RepoProcessingResult.Created,
|
||||
Processed = DateTime.Now,
|
||||
AccountId = "",
|
||||
CaseId = "",
|
||||
QueuedBy = "Testing"
|
||||
}
|
||||
};
|
||||
private readonly Mock<IProcessingReceiptService> _mockReceiptService;
|
||||
private readonly ProcessingReceiptController _controller;
|
||||
|
||||
public ProcessingReceiptControllerTest()
|
||||
{
|
||||
_mockReceiptService = new Mock<IProcessingReceiptService>();
|
||||
var mockHttpContextAccessor = new Mock<HttpContextAccessor>();
|
||||
_controller = new ProcessingReceiptController(_mockReceiptService.Object, mockHttpContextAccessor.Object);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void GetByAccountNo_OK()
|
||||
{
|
||||
_mockReceiptService.Setup(service => service.GetReceiptsByAccountNoAsync(It.IsAny<string>()))
|
||||
.ReturnsAsync(list);
|
||||
|
||||
var results = await _controller.GetByAccountNo("123456-888");
|
||||
var okresults = results as OkObjectResult;
|
||||
Assert.NotNull(okresults);
|
||||
Assert.Equal(200, okresults.StatusCode);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void GetByAccountNo_NotFound()
|
||||
{
|
||||
_mockReceiptService.Setup(service => service.GetReceiptsByAccountNoAsync(It.IsAny<string>()))
|
||||
.ReturnsAsync(new List<ProcessingReceipt>{});
|
||||
|
||||
var results = await _controller.GetByAccountNo("123456-888");
|
||||
var objectResult = results as ObjectResult;
|
||||
Assert.NotNull(objectResult);
|
||||
Assert.IsType<NotFoundObjectResult>(objectResult);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void GetByAccountNo_ServerException()
|
||||
{
|
||||
_mockReceiptService.Setup(service => service.GetReceiptsByAccountNoAsync(It.IsAny<string>())).ThrowsAsync(new Exception("oops"));
|
||||
|
||||
var results = await _controller.GetByAccountNo("123456-888");
|
||||
var objectResult = results as StatusCodeResult;
|
||||
Assert.NotNull(objectResult);
|
||||
Assert.Equal(500, objectResult.StatusCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
+96
@@ -0,0 +1,96 @@
|
||||
using System;
|
||||
using System.Security.Claims;
|
||||
using LCU.API.Collections.RepoApi.Controllers;
|
||||
using LCU.API.Collections.RepoApi.HostedServices;
|
||||
using LCU.API.Collections.RepoApi.Models.Requests;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models.Producer;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
||||
namespace LCU.API.Collections.RepoApiTests.Controllers
|
||||
{
|
||||
public class QueueControllerTest
|
||||
{
|
||||
private readonly Mock<IRepoQueueProducerService> _mockService;
|
||||
private readonly Mock<IHttpContextAccessor> _mockHttpContextAccessor;
|
||||
|
||||
public QueueControllerTest()
|
||||
{
|
||||
_mockService = new Mock<IRepoQueueProducerService>();
|
||||
_mockHttpContextAccessor = new Mock<IHttpContextAccessor>();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void PutSingleAccountOnQueue_OK()
|
||||
{
|
||||
//setup
|
||||
_mockService.Setup(x => x.SendRequestToQueue(It.IsAny<ProcessingItem>()));
|
||||
QueueController controller = new QueueController(_mockService.Object, _mockHttpContextAccessor.Object);
|
||||
|
||||
var context = new DefaultHttpContext();
|
||||
context.User = new ClaimsPrincipal();
|
||||
_mockHttpContextAccessor.Setup(_ => _.HttpContext).Returns(context);
|
||||
|
||||
var request = new AccountQueueRequest()
|
||||
{
|
||||
AccountNo = "12345-123"
|
||||
};
|
||||
|
||||
//act
|
||||
var res = controller.PutSingleAccountOnQueue(request);
|
||||
|
||||
Assert.IsType<OkResult>(res);
|
||||
_mockService.Verify(x => x.SendRequestToQueue(It.IsAny<ProcessingItem>()), Times.Once);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void PutSingleAccountOnQueue_Exception()
|
||||
{
|
||||
//setup
|
||||
_mockService.Setup(x => x.SendRequestToQueue(It.IsAny<ProcessingItem>())).Throws(new Exception("oops"));
|
||||
QueueController controller = new QueueController(_mockService.Object, _mockHttpContextAccessor.Object);
|
||||
var context = new DefaultHttpContext();
|
||||
context.User = new ClaimsPrincipal();
|
||||
_mockHttpContextAccessor.Setup(_ => _.HttpContext).Returns(context);
|
||||
|
||||
var request = new AccountQueueRequest()
|
||||
{
|
||||
AccountNo = "12345-123"
|
||||
};
|
||||
|
||||
//act
|
||||
var res = controller.PutSingleAccountOnQueue(request);
|
||||
var badres = res as ObjectResult;
|
||||
|
||||
//asert
|
||||
Assert.Equal(500, badres.StatusCode);
|
||||
_mockService.Verify(x => x.SendRequestToQueue(It.IsAny<ProcessingItem>()), Times.Once);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void PutSingleAccountOnQueue_BadFormat1()
|
||||
{
|
||||
//setup
|
||||
_mockService.Setup(x => x.SendRequestToQueue(It.IsAny<ProcessingItem>()));
|
||||
QueueController controller = new QueueController(_mockService.Object, _mockHttpContextAccessor.Object);
|
||||
var context = new DefaultHttpContext();
|
||||
context.User = new ClaimsPrincipal();
|
||||
_mockHttpContextAccessor.Setup(_ => _.HttpContext).Returns(context);
|
||||
controller.ModelState.AddModelError("Message", "Some field is required.");
|
||||
var request = new AccountQueueRequest()
|
||||
{
|
||||
AccountNo = "12345"
|
||||
};
|
||||
|
||||
//act
|
||||
var res = controller.PutSingleAccountOnQueue(request);
|
||||
var badres = res as ObjectResult;
|
||||
|
||||
//asert
|
||||
Assert.Equal(400, badres.StatusCode);
|
||||
_mockService.Verify(x => x.SendRequestToQueue(It.IsAny<ProcessingItem>()), Times.Never);
|
||||
}
|
||||
}
|
||||
}
|
||||
+172
@@ -0,0 +1,172 @@
|
||||
using LCU.API.Collections.RepoApi.Controllers;
|
||||
using LCU.API.Collections.RepoApi.Exceptions;
|
||||
using LCU.API.Collections.RepoApi.Services;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
||||
namespace LCU.API.Collections.RepoApiTests.Controllers
|
||||
{
|
||||
public class RefundStatusControllerTest
|
||||
{
|
||||
private RefundStatusController _refundStatusController;
|
||||
private Mock<IRefundStatusService> _refundStatusService;
|
||||
private Mock<IHttpContextAccessor> _httpAccessor;
|
||||
|
||||
public RefundStatusControllerTest()
|
||||
{
|
||||
_refundStatusService = new Mock<IRefundStatusService>();
|
||||
_httpAccessor = new Mock<IHttpContextAccessor>();
|
||||
_refundStatusController = new RefundStatusController(
|
||||
_refundStatusService.Object,
|
||||
_httpAccessor.Object);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void GetById_Ok()
|
||||
{
|
||||
// Arrange
|
||||
_refundStatusService.Setup(service => service.GetAsync(It.IsAny<int>())).ReturnsAsync(
|
||||
new RefundStatus());
|
||||
|
||||
// Act
|
||||
var result = await _refundStatusController.GetById(123);
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(result);
|
||||
|
||||
var okResult = result as OkObjectResult;
|
||||
Assert.NotNull(okResult);
|
||||
|
||||
var okValue = okResult.Value;
|
||||
Assert.NotNull(okValue);
|
||||
|
||||
var refundStatus = okValue as RefundStatus;
|
||||
Assert.NotNull(refundStatus);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void GetById_Returns_Bad_Request_Invalid_ID_Equal_to_Zero()
|
||||
{
|
||||
// Act
|
||||
var result = await _refundStatusController.GetById(0);
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(result);
|
||||
|
||||
var badResult = result as BadRequestObjectResult;
|
||||
Assert.NotNull(badResult);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void GetById_Returns_NotFound_On_NFE()
|
||||
{
|
||||
// Arrange
|
||||
_refundStatusService.Setup(service => service.GetAsync(It.IsAny<int>())).ThrowsAsync(
|
||||
new NotFoundException("Refund Status Not Found Test"));
|
||||
|
||||
// Act
|
||||
var result = await _refundStatusController.GetById(123);
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(result);
|
||||
|
||||
var badResult = result as NotFoundObjectResult;
|
||||
Assert.NotNull(badResult);
|
||||
|
||||
var badResultValue = badResult.Value;
|
||||
Assert.NotNull(badResultValue);
|
||||
|
||||
var badResultMessage = badResultValue as string;
|
||||
Assert.NotNull(badResultMessage);
|
||||
Assert.Equal("Refund Status Not Found Test", badResultMessage);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Post_Ok()
|
||||
{
|
||||
// Arrange
|
||||
_refundStatusService.Setup(service => service.SaveAsync(It.IsAny<RefundStatus>())).ReturnsAsync(
|
||||
new RefundStatus());
|
||||
|
||||
// Act
|
||||
var result = await _refundStatusController.Post(new RefundStatus() {RepoId = 123});
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(result);
|
||||
|
||||
var okResult = result as OkObjectResult;
|
||||
Assert.NotNull(okResult);
|
||||
|
||||
var okValue = okResult.Value;
|
||||
Assert.NotNull(okValue);
|
||||
|
||||
var refundStatus = okValue as RefundStatus;
|
||||
Assert.NotNull(refundStatus);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Post_Returns_Bad_Request_Invalid_ID_Equal_to_Zero()
|
||||
{
|
||||
// Act
|
||||
var result = await _refundStatusController.Post(new RefundStatus() {RepoId = 0});
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(result);
|
||||
|
||||
var badResult = result as BadRequestObjectResult;
|
||||
Assert.NotNull(badResult);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Put_Ok()
|
||||
{
|
||||
// Arrange
|
||||
_refundStatusService.Setup(service => service.UpdateAsync(It.IsAny<RefundStatus>())).ReturnsAsync(
|
||||
new RefundStatus());
|
||||
|
||||
// Act
|
||||
var result = await _refundStatusController.Put(123, new RefundStatus() {RepoId = 123});
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(result);
|
||||
|
||||
var okResult = result as OkObjectResult;
|
||||
Assert.NotNull(okResult);
|
||||
|
||||
var okValue = okResult.Value;
|
||||
Assert.NotNull(okValue);
|
||||
|
||||
var refundStatus = okValue as RefundStatus;
|
||||
Assert.NotNull(refundStatus);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Put_Returns_Bad_Request_Invalid_ID_Equal_to_Zero()
|
||||
{
|
||||
// Act
|
||||
var result = await _refundStatusController.Put(0, new RefundStatus() {RepoId = 0});
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(result);
|
||||
|
||||
var badResult = result as BadRequestObjectResult;
|
||||
Assert.NotNull(badResult);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Put_Returns_Bad_Request_Invalid_ID_Mismatch()
|
||||
{
|
||||
// Act
|
||||
var result = await _refundStatusController.Put(123, new RefundStatus() {RepoId = 1234});
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(result);
|
||||
|
||||
var badResult = result as BadRequestObjectResult;
|
||||
Assert.NotNull(badResult);
|
||||
}
|
||||
}
|
||||
}
|
||||
+359
@@ -0,0 +1,359 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using LCU.API.Collections.RepoApi.Controllers;
|
||||
using LCU.API.Collections.RepoApi.Models.Filters;
|
||||
using LCU.API.Collections.RepoApi.Models.Requests;
|
||||
using LCU.API.Collections.RepoApi.Models.Responses;
|
||||
using LCU.API.Collections.RepoApi.Services;
|
||||
using LCU.Shared.Collections.RepoApiLib.Exceptions;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models.Results;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
||||
namespace LCU.API.Collections.RepoApiTests.Controllers
|
||||
{
|
||||
public class RepoAccountControllerTest
|
||||
{
|
||||
private Mock<IRepoAccountService> mockService;
|
||||
private Mock<IRepoStatusChangeService> mockStatusService;
|
||||
private Mock<IRepoLetterService> mockLetterService;
|
||||
private RepoAccountController controller;
|
||||
private readonly Mock<IHttpContextAccessor> mockHttpContextAccessor;
|
||||
|
||||
public RepoAccountControllerTest()
|
||||
{
|
||||
mockService = new Mock<IRepoAccountService>();
|
||||
mockStatusService = new Mock<IRepoStatusChangeService>();
|
||||
mockLetterService = new Mock<IRepoLetterService>();
|
||||
mockHttpContextAccessor = new Mock<IHttpContextAccessor>();
|
||||
controller = new RepoAccountController(mockService.Object, mockLetterService.Object,
|
||||
mockStatusService.Object, mockHttpContextAccessor.Object);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Get_OK()
|
||||
{
|
||||
mockService.Setup(service => service.ListAll(It.IsAny<PageFilter>(), It.IsAny<RepoAccountPostFilter>()))
|
||||
.ReturnsAsync(
|
||||
new PagedResult<RepoAccount>()
|
||||
{
|
||||
Total = 1,
|
||||
Items = new List<RepoAccount>
|
||||
{
|
||||
new RepoAccount()
|
||||
{
|
||||
RepoId = 5,
|
||||
AccountNo = "1234567-98"
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// arrange
|
||||
var filter = new PageFilter();
|
||||
|
||||
// act
|
||||
var result = await controller.Get(filter);
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
|
||||
var okValue = okResult.Value as PagedResponse<RepoAccount>;
|
||||
Assert.NotNull(okValue);
|
||||
Assert.Equal(1, okValue.TotalItems);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Get_Repo_Account_Status_Changes_OK()
|
||||
{
|
||||
// arrange
|
||||
var statusChanges = new List<RepoStatusChange>
|
||||
{
|
||||
new RepoStatusChange()
|
||||
{
|
||||
Id = 1,
|
||||
RepoId = 5,
|
||||
StatusFrom = "None",
|
||||
StatusTo = "O4R",
|
||||
ChangedBy = "System",
|
||||
ChangedDate = DateTime.Now
|
||||
}
|
||||
};
|
||||
mockStatusService.Setup(x => x.ListByAccount(It.IsAny<int>())).ReturnsAsync(statusChanges);
|
||||
|
||||
// act
|
||||
var result = await controller.GetStatusChangesByRepoId(5);
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
|
||||
var okValue = okResult.Value as IEnumerable<RepoStatusChange>;
|
||||
Assert.NotNull(okValue);
|
||||
Assert.True(statusChanges.SequenceEqual(okValue));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Get_Repo_Account_Letters_OK()
|
||||
{
|
||||
// arrange
|
||||
var letters = new List<RepoLetter>
|
||||
{
|
||||
new RepoLetter
|
||||
{
|
||||
NoticeType = "Type",
|
||||
DateSent = DateTime.Now,
|
||||
DateExpired = DateTime.Now.AddDays(15),
|
||||
DaysToRedeem = 15
|
||||
}
|
||||
};
|
||||
mockLetterService.Setup(x => x.ListByAccountIdAsync(It.IsAny<int>())).ReturnsAsync(letters);
|
||||
|
||||
// act
|
||||
var result = await controller.GetLettersByRepoId(5);
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
|
||||
var okValue = okResult.Value as IEnumerable<RepoLetter>;
|
||||
Assert.NotNull(okValue);
|
||||
Assert.True(letters.SequenceEqual(okValue));
|
||||
}
|
||||
|
||||
|
||||
[Fact]
|
||||
public async void GetByAccountNo_OK()
|
||||
{
|
||||
// arrange
|
||||
var repos = new List<RepoAccount>
|
||||
{
|
||||
new RepoAccount()
|
||||
{
|
||||
RepoId = 5,
|
||||
AccountNo = "1234567-98",
|
||||
DateClosed = DateTime.Today
|
||||
},
|
||||
new RepoAccount()
|
||||
{
|
||||
RepoId = 6,
|
||||
AccountNo = "1234567-98",
|
||||
DateClosed = DateTime.Today
|
||||
}
|
||||
};
|
||||
mockService.Setup(x => x.GetByAccountNo(It.IsAny<string>())).ReturnsAsync(repos);
|
||||
|
||||
// act
|
||||
var result = await controller.GetByAccountNo("55555-123");
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
|
||||
var okValue = okResult.Value as IReadOnlyCollection<RepoAccount>;
|
||||
Assert.NotNull(okValue);
|
||||
Assert.Equal(5, okValue.First().RepoId);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void GetById_OK()
|
||||
{
|
||||
// arrange
|
||||
var repos = new List<RepoAccount>
|
||||
{
|
||||
new RepoAccount()
|
||||
{
|
||||
RepoId = 5,
|
||||
AccountNo = "1234567-98"
|
||||
}
|
||||
};
|
||||
mockService.Setup(x => x.Get(It.IsAny<int>())).ReturnsAsync(repos.First());
|
||||
|
||||
// act
|
||||
var result = await controller.GetById(5);
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
|
||||
var okValue = okResult.Value as RepoAccount;
|
||||
Assert.NotNull(okValue);
|
||||
Assert.Equal(5, okValue.RepoId);
|
||||
}
|
||||
|
||||
// Post tests
|
||||
[Fact]
|
||||
public async void Post_OK()
|
||||
{
|
||||
// arrange
|
||||
var postAlert = new RepoAccount()
|
||||
{
|
||||
AccountNo = "1234567-98",
|
||||
Borrowers = new List<Borrower>()
|
||||
{
|
||||
new Borrower()
|
||||
{
|
||||
RepoId = 0,
|
||||
IndividualId = "123456",
|
||||
OwnershipType = 6,
|
||||
IndividualName = "John Doe"
|
||||
}
|
||||
},
|
||||
Collaterals = new List<Collateral>
|
||||
{
|
||||
new Collateral()
|
||||
{
|
||||
CollateralId = 1234567,
|
||||
RepoId = 2345678
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// act
|
||||
var result = await controller.Post(postAlert);
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Post_Bad_Request()
|
||||
{
|
||||
// arrange
|
||||
var postAlert = new RepoAccount()
|
||||
{
|
||||
AccountNo = "1234567-98",
|
||||
};
|
||||
controller.ModelState.AddModelError("Message", "The message field is required.");
|
||||
|
||||
// act
|
||||
var result = await controller.Post(postAlert);
|
||||
Assert.NotNull(result);
|
||||
var badRequestResult = result as BadRequestObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(badRequestResult);
|
||||
Assert.Equal(StatusCodes.Status400BadRequest, badRequestResult.StatusCode);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Search_Ok()
|
||||
{
|
||||
// arrange
|
||||
var searchPhrase = "abcd123";
|
||||
mockService.Setup(service => service.SearchRepoAccounts(It.IsAny<string>(), It.IsAny<int>())).ReturnsAsync(
|
||||
new List<RepoAccount>()
|
||||
{
|
||||
new RepoAccount(),
|
||||
new RepoAccount(),
|
||||
new RepoAccount()
|
||||
});
|
||||
|
||||
// act
|
||||
var result = await controller.SearchRepoAccounts(searchPhrase);
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
|
||||
var okResultValue = okResult.Value as IReadOnlyCollection<RepoAccount>;
|
||||
Assert.NotNull(okResultValue);
|
||||
Assert.Equal(3, okResultValue.Count());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Search_Empty_Bad_Request()
|
||||
{
|
||||
// arrange
|
||||
var searchPhrase = "";
|
||||
|
||||
// act
|
||||
var result = await controller.SearchRepoAccounts(searchPhrase);
|
||||
Assert.NotNull(result);
|
||||
var badRequestResult = result as BadRequestObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(badRequestResult);
|
||||
Assert.Equal(StatusCodes.Status400BadRequest, badRequestResult.StatusCode);
|
||||
Assert.Equal("Search Phrase Cannot Be Empty", badRequestResult.Value);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Search_Low_Characters_Bad_Request()
|
||||
{
|
||||
// arrange
|
||||
var searchPhrase = "12";
|
||||
|
||||
// act
|
||||
var result = await controller.SearchRepoAccounts(searchPhrase);
|
||||
Assert.NotNull(result);
|
||||
var badRequestResult = result as BadRequestObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(badRequestResult);
|
||||
Assert.Equal(StatusCodes.Status400BadRequest, badRequestResult.StatusCode);
|
||||
Assert.Equal("Search Phrase Must Be At Least Three (3) Characters Long", badRequestResult.Value);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Search_Max_Results_Bad_Request()
|
||||
{
|
||||
// arrange
|
||||
var searchPhrase = "143";
|
||||
mockService.Setup(service => service.SearchRepoAccounts(It.IsAny<string>(), It.IsAny<int>()))
|
||||
.ThrowsAsync(new MaxItemException(1492));
|
||||
|
||||
// act
|
||||
var result = await controller.SearchRepoAccounts(searchPhrase);
|
||||
Assert.NotNull(result);
|
||||
var payloadTooLargeResult = result as ObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(payloadTooLargeResult);
|
||||
Assert.Equal(StatusCodes.Status413PayloadTooLarge, payloadTooLargeResult.StatusCode);
|
||||
Assert.Equal("Too Many Search Results. (Max: 100) (Found: 1492)", payloadTooLargeResult.Value);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void DeleteAccountByID_Exception()
|
||||
{
|
||||
//arrange
|
||||
mockService.Setup(service => service.DeleteAsync(It.IsAny<int>())).ThrowsAsync(new Exception("oops"));
|
||||
|
||||
var result = await controller.DeleteAccountById(5);
|
||||
var badres = result as StatusCodeResult;
|
||||
Assert.NotNull(result);
|
||||
Assert.Equal(500, badres.StatusCode);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void DeleteAccountByID_Ok()
|
||||
{
|
||||
//arrange
|
||||
mockService.Setup(service => service.DeleteAsync(It.IsAny<int>())).ReturnsAsync(new RepoAccount() { });
|
||||
|
||||
var result = await controller.DeleteAccountById(5);
|
||||
var okres = result as OkObjectResult;
|
||||
Assert.NotNull(result);
|
||||
Assert.Equal(200, okres.StatusCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
+81
@@ -0,0 +1,81 @@
|
||||
using System.Collections.Generic;
|
||||
using LCU.API.Collections.RepoApi.Controllers;
|
||||
using LCU.API.Collections.RepoApi.Services;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
||||
namespace LCU.API.Collections.RepoApiTests.Controllers
|
||||
{
|
||||
public class RepoCompanyControllerTest
|
||||
{
|
||||
private Mock<IRepoCompanyService> mockService;
|
||||
private RepoCompanyController controller;
|
||||
private readonly Mock<IHttpContextAccessor> mockHttpContextAccessor;
|
||||
|
||||
public RepoCompanyControllerTest()
|
||||
{
|
||||
mockService = new Mock<IRepoCompanyService>();
|
||||
mockHttpContextAccessor = new Mock<IHttpContextAccessor>();
|
||||
controller =
|
||||
new RepoCompanyController(mockService.Object, mockHttpContextAccessor.Object);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Get_OK()
|
||||
{
|
||||
var repoCompanyList = getMockCompanyList();
|
||||
|
||||
mockService.Setup(service => service.ListAll()).ReturnsAsync(repoCompanyList);
|
||||
|
||||
var result = await controller.Get();
|
||||
Assert.NotNull(result);
|
||||
|
||||
var okResult = result as OkObjectResult;
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
|
||||
var okValue = okResult.Value as IEnumerable<RepoCompany>;
|
||||
Assert.NotNull(okValue);
|
||||
|
||||
var repoEnum = okValue.GetEnumerator();
|
||||
|
||||
repoEnum.MoveNext();
|
||||
var firstValue = repoEnum.Current;
|
||||
Assert.Equal(repoCompanyList[0], firstValue);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Post_Ok()
|
||||
{
|
||||
var repoCompanyList = getMockCompanyList();
|
||||
|
||||
mockService.Setup(service => service.Save(It.IsAny<RepoCompany>())).ReturnsAsync(repoCompanyList[0]);
|
||||
|
||||
var result = await controller.Post(repoCompanyList[0]);
|
||||
Assert.NotNull(result);
|
||||
|
||||
var okResult = result as OkObjectResult;
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
|
||||
var okValue = okResult.Value as RepoCompany;
|
||||
Assert.Equal(repoCompanyList[0], okValue);
|
||||
}
|
||||
|
||||
private IList<RepoCompany> getMockCompanyList()
|
||||
{
|
||||
return new List<RepoCompany>
|
||||
{
|
||||
getMockCompany()
|
||||
};
|
||||
}
|
||||
|
||||
private RepoCompany getMockCompany()
|
||||
{
|
||||
return new RepoCompany() {ID = 1, Email = "[email protected]", Name = "A Inc."};
|
||||
}
|
||||
}
|
||||
}
|
||||
+112
@@ -0,0 +1,112 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using LCU.API.Collections.RepoApi.Controllers;
|
||||
using LCU.API.Collections.RepoApi.Exceptions;
|
||||
using LCU.API.Collections.RepoApi.Models.Responses;
|
||||
using LCU.API.Collections.RepoApi.Services;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
||||
namespace LCU.API.Collections.RepoApiTests.Controllers
|
||||
{
|
||||
public class RepoCompanySelectionControllerTest
|
||||
{
|
||||
private RepoCompanySelectionController _controller;
|
||||
private Mock<IRepoCompanySelectionService> _mockService;
|
||||
private Mock<IHttpContextAccessor> _mockHttpContextAccessor;
|
||||
|
||||
public RepoCompanySelectionControllerTest()
|
||||
{
|
||||
_mockService = new Mock<IRepoCompanySelectionService>();
|
||||
_mockHttpContextAccessor = new Mock<IHttpContextAccessor>();
|
||||
_controller = new RepoCompanySelectionController(
|
||||
_mockService.Object,
|
||||
_mockHttpContextAccessor.Object);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Get_Ok()
|
||||
{
|
||||
// Arrange
|
||||
_mockService.Setup(service => service.ListAllAsync()).ReturnsAsync(new List<RepoCompanySelection>()
|
||||
{
|
||||
new RepoCompanySelection(),
|
||||
new RepoCompanySelection()
|
||||
});
|
||||
|
||||
// Act
|
||||
var result = await _controller.Get();
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(result);
|
||||
|
||||
var okResult = result as OkObjectResult;
|
||||
Assert.NotNull(okResult);
|
||||
Assert.NotNull(okResult.Value);
|
||||
|
||||
var repoCompanySelectionList = okResult.Value as IEnumerable<RepoCompanySelection>;
|
||||
Assert.NotNull(repoCompanySelectionList);
|
||||
Assert.Equal(2, repoCompanySelectionList.Count());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Get_ById_Ok()
|
||||
{
|
||||
// Arrange
|
||||
_mockService.Setup(service => service.GetAsync(It.IsAny<int>())).ReturnsAsync(new RepoCompanySelection()
|
||||
{
|
||||
RepoCompanyId = 5
|
||||
});
|
||||
|
||||
// Act
|
||||
var result = await _controller.Get(42);
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(result);
|
||||
|
||||
var okResult = result as OkObjectResult;
|
||||
Assert.NotNull(okResult);
|
||||
Assert.NotNull(okResult.Value);
|
||||
|
||||
var repoCompanySelection = okResult.Value as RepoCompanySelection;
|
||||
Assert.NotNull(repoCompanySelection);
|
||||
Assert.Equal(5, repoCompanySelection.RepoCompanyId);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Get_ById_Invalid_ID()
|
||||
{
|
||||
// Act
|
||||
var result = await _controller.Get(0);
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(result);
|
||||
|
||||
var badRequestResult = result as BadRequestObjectResult;
|
||||
Assert.NotNull(badRequestResult);
|
||||
Assert.Equal("Invalid ID", badRequestResult.Value);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Get_ById_Not_Found()
|
||||
{
|
||||
// Arrange
|
||||
_mockService.Setup(service => service.GetAsync(It.IsAny<int>()))
|
||||
.ThrowsAsync(new NotFoundException("Not Found in Get"));
|
||||
|
||||
// Act
|
||||
var result = await _controller.Get(1);
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(result);
|
||||
|
||||
var notFoundRequest = result as NotFoundObjectResult;
|
||||
Assert.NotNull(notFoundRequest);
|
||||
Assert.Equal("Not Found in Get", notFoundRequest.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
+81
@@ -0,0 +1,81 @@
|
||||
using LCU.API.Collections.RepoApi.Controllers;
|
||||
using LCU.API.Collections.RepoApi.Models.Requests;
|
||||
using LCU.API.Collections.RepoApi.Services.Reporting;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
||||
namespace LCU.API.Collections.RepoApiTests.Controllers
|
||||
{
|
||||
public class ReportingControllerTest
|
||||
{
|
||||
private readonly ReportingController controller;
|
||||
private readonly Mock<ILandmarkReportingService> mockLandmarkReportingService;
|
||||
private readonly Mock<IAuctionReportingService> mockAuctionReportingService;
|
||||
private readonly Mock<IRepoCompanyReportingService> mockRepoCompanyReportingService;
|
||||
private readonly Mock<IHttpContextAccessor> mockHttpContextAccessor;
|
||||
|
||||
public ReportingControllerTest()
|
||||
{
|
||||
mockLandmarkReportingService = new Mock<ILandmarkReportingService>();
|
||||
mockAuctionReportingService = new Mock<IAuctionReportingService>();
|
||||
mockRepoCompanyReportingService = new Mock<IRepoCompanyReportingService>();
|
||||
mockHttpContextAccessor = new Mock<IHttpContextAccessor>();
|
||||
controller = new ReportingController(
|
||||
mockHttpContextAccessor.Object,
|
||||
mockLandmarkReportingService.Object,
|
||||
mockAuctionReportingService.Object,
|
||||
mockRepoCompanyReportingService.Object);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Get_Gross_Amount_OK()
|
||||
{
|
||||
// arrange
|
||||
var request = new ReportingRequest();
|
||||
|
||||
// act
|
||||
var result = await controller.GetAuctionAssignedBalance(request);
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Get_Active_Account_OK()
|
||||
{
|
||||
// arrange
|
||||
var request = new ReportingRequest();
|
||||
|
||||
// act
|
||||
var result = await controller.GetIsActiveAccount(request);
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Get_Closed_Account_OK()
|
||||
{
|
||||
// arrange
|
||||
var request = new ReportingRequest();
|
||||
|
||||
// act
|
||||
var result = await controller.GetIsClosedAccount(request);
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
+370
@@ -0,0 +1,370 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
+92
@@ -0,0 +1,92 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using LCU.API.Collections.RepoApi.Controllers;
|
||||
using LCU.API.Collections.RepoApi.Services;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
||||
namespace LCU.API.Collections.RepoApiTests.Controllers
|
||||
{
|
||||
public class VehicleFloorPricingParametersControllerTest
|
||||
{
|
||||
// Get tests
|
||||
[Fact]
|
||||
public async void Get_OK()
|
||||
{
|
||||
var mockService = new Mock<IVehicleFloorPricingParametersService>();
|
||||
var mockHttpContextAccessor = new Mock<IHttpContextAccessor>();
|
||||
var parameters = new List<VehicleFloorPricingParameters>
|
||||
{
|
||||
new VehicleFloorPricingParameters()
|
||||
{
|
||||
Id = 1,
|
||||
LowCondition = 0.0m,
|
||||
HighCondition = 1.5m,
|
||||
NADAFirstValue = "Low Value",
|
||||
NADASecondValue = "Low Value",
|
||||
MMRAdjustedValue = "Regional Value",
|
||||
PercentageOf = 95.00m
|
||||
}
|
||||
};
|
||||
mockService.Setup(x => x.ListAll()).ReturnsAsync(parameters);
|
||||
|
||||
// arrange
|
||||
var controller = new VehicleFloorPricingParametersController(mockService.Object,
|
||||
mockHttpContextAccessor.Object);
|
||||
|
||||
// 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 IEnumerable<VehicleFloorPricingParameters>;
|
||||
Assert.NotNull(okValue);
|
||||
Assert.True(parameters.SequenceEqual(okValue));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void GetById_OK()
|
||||
{
|
||||
var mockService = new Mock<IVehicleFloorPricingParametersService>();
|
||||
var mockHttpContextAccessor = new Mock<IHttpContextAccessor>();
|
||||
var repos = new List<VehicleFloorPricingParameters>
|
||||
{
|
||||
new VehicleFloorPricingParameters()
|
||||
{
|
||||
Id = 1,
|
||||
LowCondition = 0.0m,
|
||||
HighCondition = 1.5m,
|
||||
NADAFirstValue = "Low Value",
|
||||
NADASecondValue = "Low Value",
|
||||
MMRAdjustedValue = "Regional Value",
|
||||
PercentageOf = 95.00m
|
||||
}
|
||||
};
|
||||
mockService.Setup(x => x.Get(It.IsAny<int>())).ReturnsAsync(repos.First());
|
||||
|
||||
// arrange
|
||||
var controller = new VehicleFloorPricingParametersController(mockService.Object,
|
||||
mockHttpContextAccessor.Object);
|
||||
|
||||
// act
|
||||
var result = await controller.GetById(1234567);
|
||||
Assert.NotNull(result);
|
||||
var okResult = result as OkObjectResult;
|
||||
|
||||
// assert
|
||||
Assert.NotNull(okResult);
|
||||
Assert.Equal(200, okResult.StatusCode);
|
||||
|
||||
var okValue = okResult.Value as VehicleFloorPricingParameters;
|
||||
Assert.NotNull(okValue);
|
||||
Assert.Equal(1, okValue.Id);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user