Files
monorepo/LCU.API.Internal.Dispatcher/LCU.Api.Internal.DispatcherTests/ControllerTests/IngestionControllerTest.cs
T
2026-03-24 15:26:03 -05:00

72 lines
1.9 KiB
C#

using System.Collections.Generic;
using Microsoft.AspNetCore.Mvc;
using LCU.Api.Internal.Dispatcher.Controllers;
using LCU.Library.Internal.DispatcherModels.Enums;
using LCU.Api.Internal.Dispatcher.Services.DispatcherOperationServices;
namespace LCU.Api.Internal.DispatcherTests.ControllerTests;
public class IngestionControllerTest
{
private readonly IngestionController controller;
private readonly Mock<IIngestionService> _mockIngestionService;
public IngestionControllerTest()
{
_mockIngestionService = new Mock<IIngestionService>();
controller = new IngestionController(_mockIngestionService.Object);
}
// Post tests
[Fact]
public async Task MoveFilePost_OK()
{
// arrange
var testTask = new WorkItem()
{
WorkItemId = 0,
JobId = 0,
Order = 1,
SerializedPayload = "",
Url = "",
HttpMethod = HttpMethodType.Post
};
var testJob = new Job()
{
JobId = 0,
RequestingApplication = "",
WorkItems = new List<WorkItem>() { testTask }
};
// act
var result = await controller.Post(testJob);
Assert.NotNull(result);
var okResult = result as OkResult;
// assert
Assert.NotNull(okResult);
Assert.Equal(200, okResult.StatusCode);
}
// Post tests
[Fact]
public async Task MoveFilePost_NoWorkItems_BadRequest()
{
// arrange
var testJob = new Job()
{
JobId = 0,
RequestingApplication = "",
WorkItems = new List<WorkItem>()
};
// act
var result = await controller.Post(testJob);
// assert
Assert.NotNull(result);
var badRequest = result as BadRequestObjectResult;
Assert.Equal(400, badRequest.StatusCode);
Assert.Equal("Workitems are required.", badRequest.Value);
}
}