Files
adas-core/adas-core.Test/Services/LightBeaconServiceTest.cs

70 lines
2.2 KiB
C#

using adas_core.Application.Repositories.Interfaces;
using adas_core.Application.Services.Interfaces;
using adas_core.Domain.Enums;
using adas_core.Domain.Models.AppSettings;
using adas_core.Domain.Models.MongoModels;
using adas_core.module.LightBeacons.Services;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using MongoDB.Bson;
using Moq;
using Options = Microsoft.Extensions.Options.Options;
namespace adas_core.Test.Services;
[TestFixture]
public class LightBeaconServiceTest
{
[SetUp]
public void Setup()
{
_optionsApiSettings = Options.Create(_apiSettings);
_pocService = new Mock<IPointOfCareService>();
_clientMessageService = new Mock<IClientMessageService>();
_subscribersService = new Mock<ISubscribersService>();
_logger = new Mock<ILogger<LightBeaconService>>();
_lightBeaconRepository = new Mock<ILightBeaconRepository>();
_lightBeaconService = new LightBeaconService(
_optionsApiSettings,
_logger.Object,
_clientMessageService.Object,
_subscribersService.Object,
_pocService.Object,
_lightBeaconRepository.Object
);
}
private LightBeaconService _lightBeaconService = null!;
private readonly ApiSettings _apiSettings = new()
{
BalizaUrl = "http://localhost/info.html",
BalizaPassword = "password"
};
private IOptions<ApiSettings> _optionsApiSettings = null!;
private Mock<ILogger<LightBeaconService>> _logger = null!;
private Mock<IPointOfCareService> _pocService = null!;
private Mock<IClientMessageService> _clientMessageService = null!;
private Mock<ISubscribersService> _subscribersService = null!;
private Mock<ILightBeaconRepository> _lightBeaconRepository = null!;
[Ignore("Integration test")]
[Test]
public async Task GetBeaconColor()
{
var patient = new Patient
{
UnitId = ObjectId.GenerateNewId(),
PointOfCareId = ObjectId.GenerateNewId()
};
var color = await _lightBeaconService.GetColor(patient.PointOfCareId.Value);
Assert.That(color, Is.EqualTo(
LightBeaconColor.Off));
}
}