102 lines
2.8 KiB
C#
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);
|
|
}
|
|
} |