ListingsManagerTests.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using System;
  2. using Jellyfin.LiveTv.Configuration;
  3. using Jellyfin.LiveTv.Listings;
  4. using MediaBrowser.Common.Configuration;
  5. using MediaBrowser.Controller.LiveTv;
  6. using MediaBrowser.Model.LiveTv;
  7. using MediaBrowser.Model.Tasks;
  8. using Microsoft.Extensions.Logging;
  9. using Moq;
  10. using Xunit;
  11. namespace Jellyfin.LiveTv.Tests.Listings;
  12. public class ListingsManagerTests
  13. {
  14. private readonly IConfigurationManager _config;
  15. private readonly IListingsProvider[] _listingsProviders;
  16. private readonly ILogger<ListingsManager> _logger;
  17. private readonly ITaskManager _taskManager;
  18. private readonly ITunerHostManager _tunerHostManager;
  19. public ListingsManagerTests()
  20. {
  21. _logger = Mock.Of<ILogger<ListingsManager>>();
  22. _config = Mock.Of<IConfigurationManager>();
  23. _taskManager = Mock.Of<ITaskManager>();
  24. _tunerHostManager = Mock.Of<ITunerHostManager>();
  25. _listingsProviders = new[] { Mock.Of<IListingsProvider>() };
  26. }
  27. [Fact]
  28. public void DeleteListingsProvider_DeletesProvider()
  29. {
  30. // Arrange
  31. var id = "MockId";
  32. var manager = new ListingsManager(_logger, _config, _taskManager, _tunerHostManager, _listingsProviders);
  33. Mock.Get(_config)
  34. .Setup(x => x.GetConfiguration(It.IsAny<string>()))
  35. .Returns(new LiveTvOptions { ListingProviders = [new ListingsProviderInfo { Id = id }] });
  36. // Act
  37. manager.DeleteListingsProvider(id);
  38. // Assert
  39. Assert.DoesNotContain(
  40. _config.GetLiveTvConfiguration().ListingProviders,
  41. p => p.Id.Equals(id, StringComparison.Ordinal));
  42. }
  43. }