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 _mockIngestionService; public IngestionControllerTest() { _mockIngestionService = new Mock(); 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() { 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() }; // 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); } }