Files
2026-03-24 15:26:03 -05:00

102 lines
2.8 KiB
C#

using LCU.Api.Internal.DispatcherLib.Repositories;
using LCU.Library.Internal.DispatcherModels.Enums;
namespace LCU.Api.Internal.DispatcherTests.RepositoryTests;
public class WorkItemRepositoryTest : DbContextFromJsonTest
{
private readonly WorkItemRepository _workItemRepository;
public WorkItemRepositoryTest()
{
var dbContext = GetContextWithData("RepositoryTests\\job_repo_basic.json");
_workItemRepository = new WorkItemRepository(dbContext);
}
[Fact]
public async void ListAsync_Test()
{
// Act
var resultsBasic = await _workItemRepository.ListAsync();
// Assert
Assert.NotNull(resultsBasic);
Assert.Equal(17, resultsBasic.Count());
}
[Fact]
public async void FindAsync_Found()
{
// Act
var resultsBasic = await _workItemRepository.FindByIdAsync(1);
// Assert
Assert.NotNull(resultsBasic);
Assert.Equal(1, resultsBasic.WorkItemId);
}
[Fact]
public async void FindAsync_Missing()
{
// Act
var resultsBasic = await _workItemRepository.FindByIdAsync(1000);
// Assert
Assert.Null(resultsBasic);
}
[Fact]
public async void Update_Test()
{
var foundWorkItem = await _workItemRepository.FindByIdAsync(1);
Assert.NotNull(foundWorkItem);
Assert.Equal("{TEST1: null}", foundWorkItem.SerializedPayload);
foundWorkItem.SerializedPayload = "{TEST_New: null}";
// Act
_workItemRepository.Update(foundWorkItem);
//Act / Assert
var updatedWorkItem = await _workItemRepository.FindByIdAsync(1);
Assert.NotNull(updatedWorkItem);
updatedWorkItem.SerializedPayload = "{TEST_New: null}";
}
[Fact]
public async void AddAsync_Test()
{
// Arrange
var workItem = new WorkItem()
{
WorkItemId = 100,
JobId = 100,
Name = "test",
Order = 1,
SerializedPayload = "{TEST:null}",
Url = "Test.Application.1",
HttpMethod = HttpMethodType.Post
};
// Act
var resultsBasic = await _workItemRepository.AddAsync(workItem);
// Assert
Assert.NotNull(resultsBasic);
Assert.True(resultsBasic.WorkItemId > 0);
Assert.Equal(1, resultsBasic.Order);
Assert.Equal("{TEST:null}", resultsBasic.SerializedPayload);
Assert.Equal("Test.Application.1", resultsBasic.Url);
Assert.Equal(HttpMethodType.Post, resultsBasic.HttpMethod);
}
[Fact]
public async void GetFirstOrDefaultWorkItemByJobId_Found()
{
// Arrange/Act
var resultsBasic = await _workItemRepository.GetFirstOrDefaultWorkItemByJobId(11);
// Assert
Assert.NotNull(resultsBasic);
Assert.Equal(211, resultsBasic.WorkItemId);
}
}