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(); repository.GetAll(Arg.Any()) .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 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(); } }