79 lines
3.1 KiB
C#
79 lines
3.1 KiB
C#
using adas_core.Application.Repositories.Interfaces;
|
|
using adas_core.Domain.Enums;
|
|
using adas_core.Domain.Models.AppSettings;
|
|
using adas_core.Infrastructure.Repositories;
|
|
using adas_core.Test.Utilities;
|
|
using Microsoft.Extensions.Logging;
|
|
using Microsoft.Extensions.Options;
|
|
using MongoDB.Bson;
|
|
using Moq;
|
|
|
|
namespace adas_core.Test.Repositories;
|
|
|
|
[TestFixture]
|
|
public class DisplayConfigTest
|
|
{
|
|
[OneTimeSetUp]
|
|
public async Task SetUp()
|
|
{
|
|
Options.Create(new ApiSettings());
|
|
_unitRepository = new Mock<IUnitRepository>();
|
|
_displayCardConfigRepository =
|
|
new DisplayCardConfigRepository(
|
|
IntegrationDb.Database,
|
|
new ApiSettings(),
|
|
new Mock<ILogger<DisplayCardConfigRepository>>().Object
|
|
);
|
|
_displayConfigRepository =
|
|
new DisplayConfigRepository(
|
|
IntegrationDb.Database,
|
|
new ApiSettings(),
|
|
new Mock<ILogger<DisplayConfigRepository>>().Object,
|
|
_unitRepository.Object
|
|
);
|
|
_displayDetailConfigRepository =
|
|
new DisplayDetailConfigRepository(
|
|
IntegrationDb.Database,
|
|
new ApiSettings(),
|
|
new Mock<ILogger<DisplayDetailConfigRepository>>().Object
|
|
);
|
|
|
|
await _displayDetailConfigRepository.InsertOneAsync(
|
|
TestUtilities.CreateValidCardDetailsNurseConfig(_configDisplayCardDetailsId));
|
|
await _displayCardConfigRepository.InsertOneAsync(TestUtilities.CreateValidCardConfig(_configDisplayCardId));
|
|
await _displayConfigRepository.InsertOneAsync(TestUtilities.CreateValidDisplayConfig(
|
|
DisplayConfigEnums.DisplayType.DisplayNurse, _configDisplayId, _configDisplayCardId,
|
|
_configDisplayCardDetailsId));
|
|
}
|
|
|
|
[OneTimeTearDown]
|
|
public async Task Cleanup()
|
|
{
|
|
// Clean up database after tests
|
|
await IntegrationDb.Database.DropCollectionAsync("config_displays");
|
|
await IntegrationDb.Database.DropCollectionAsync("config_displays_card");
|
|
await IntegrationDb.Database.DropCollectionAsync("config_displays_detail");
|
|
}
|
|
|
|
private DisplayConfigRepository _displayConfigRepository;
|
|
private DisplayCardConfigRepository _displayCardConfigRepository;
|
|
private DisplayDetailConfigRepository _displayDetailConfigRepository;
|
|
private Mock<IUnitRepository> _unitRepository;
|
|
private readonly ObjectId _configDisplayId = ObjectId.GenerateNewId();
|
|
private readonly ObjectId _configDisplayCardId = ObjectId.GenerateNewId();
|
|
private readonly ObjectId _configDisplayCardDetailsId = ObjectId.GenerateNewId();
|
|
|
|
[Test]
|
|
public async Task GetByIdShouldReturnAllConfigsAssociated()
|
|
{
|
|
var result = await _displayConfigRepository.GetById(_configDisplayId);
|
|
Assert.That(result, Is.Not.Null);
|
|
using (Assert.EnterMultipleScope())
|
|
{
|
|
Assert.That(result.CardConfigId, Is.Not.Null);
|
|
Assert.That(result.CardConfig, Is.Not.Null);
|
|
Assert.That(result.DetailConfigId, Is.Not.Null);
|
|
Assert.That(result.DetailConfig, Is.Not.Null);
|
|
};
|
|
}
|
|
} |