54 lines
1.9 KiB
C#
54 lines
1.9 KiB
C#
using ErsatzTV.Application.Channels;
|
|
using ErsatzTV.Core;
|
|
using ErsatzTV.Core.Api.Channels;
|
|
using ErsatzTV.Core.Domain;
|
|
using ErsatzTV.Core.Interfaces.Repositories;
|
|
using NSubstitute;
|
|
using NUnit.Framework;
|
|
using Shouldly;
|
|
|
|
namespace ErsatzTV.Tests.Application.Channels;
|
|
|
|
[TestFixture]
|
|
public class GetAllChannelsForApiHandlerTests
|
|
{
|
|
[Test]
|
|
public async Task Should_Project_Management_Table_Fields()
|
|
{
|
|
IChannelRepository repository = Substitute.For<IChannelRepository>();
|
|
repository.GetAll(Arg.Any<CancellationToken>())
|
|
.Returns([
|
|
new Channel(Guid.NewGuid())
|
|
{
|
|
Id = 7,
|
|
Number = "7.1",
|
|
SortNumber = 7.1,
|
|
Name = "Retro Cartoons",
|
|
Group = "Kids",
|
|
Categories = "animation",
|
|
FFmpegProfile = new FFmpegProfile { Name = "HLS 720p" },
|
|
PreferredAudioLanguageCode = "eng",
|
|
StreamingMode = StreamingMode.HttpLiveStreamingSegmenter,
|
|
IsEnabled = false,
|
|
ShowInEpg = false
|
|
}
|
|
]);
|
|
var handler = new GetAllChannelsForApiHandler(repository);
|
|
|
|
List<ChannelResponseModel> result = await handler.Handle(new GetAllChannelsForApi(), CancellationToken.None);
|
|
|
|
ChannelResponseModel channel = result.ShouldHaveSingleItem();
|
|
channel.Id.ShouldBe(7);
|
|
channel.Number.ShouldBe("7.1");
|
|
channel.SortNumber.ShouldBe(7.1);
|
|
channel.Name.ShouldBe("Retro Cartoons");
|
|
channel.Group.ShouldBe("Kids");
|
|
channel.Categories.ShouldBe("animation");
|
|
channel.FFmpegProfile.ShouldBe("HLS 720p");
|
|
channel.Language.ShouldBe("eng");
|
|
channel.StreamingMode.ShouldBe("HLS Segmenter");
|
|
channel.IsEnabled.ShouldBeFalse();
|
|
channel.ShowInEpg.ShouldBeFalse();
|
|
}
|
|
}
|