RequestHelpersTests.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using System;
  2. using System.Collections.Generic;
  3. using Jellyfin.Api.Helpers;
  4. using Jellyfin.Data.Enums;
  5. using Xunit;
  6. namespace Jellyfin.Api.Tests.Helpers
  7. {
  8. public static class RequestHelpersTests
  9. {
  10. [Theory]
  11. [MemberData(nameof(GetOrderBy_Success_TestData))]
  12. public static void GetOrderBy_Success(IReadOnlyList<string> sortBy, IReadOnlyList<SortOrder> requestedSortOrder, (string, SortOrder)[] expected)
  13. {
  14. Assert.Equal(expected, RequestHelpers.GetOrderBy(sortBy, requestedSortOrder));
  15. }
  16. public static TheoryData<IReadOnlyList<string>, IReadOnlyList<SortOrder>, (string, SortOrder)[]> GetOrderBy_Success_TestData()
  17. {
  18. var data = new TheoryData<IReadOnlyList<string>, IReadOnlyList<SortOrder>, (string, SortOrder)[]>();
  19. data.Add(
  20. Array.Empty<string>(),
  21. Array.Empty<SortOrder>(),
  22. Array.Empty<(string, SortOrder)>());
  23. data.Add(
  24. new string[]
  25. {
  26. "IsFavoriteOrLiked",
  27. "Random"
  28. },
  29. Array.Empty<SortOrder>(),
  30. new (string, SortOrder)[]
  31. {
  32. ("IsFavoriteOrLiked", SortOrder.Ascending),
  33. ("Random", SortOrder.Ascending),
  34. });
  35. data.Add(
  36. new string[]
  37. {
  38. "SortName",
  39. "ProductionYear"
  40. },
  41. new SortOrder[]
  42. {
  43. SortOrder.Descending
  44. },
  45. new (string, SortOrder)[]
  46. {
  47. ("SortName", SortOrder.Descending),
  48. ("ProductionYear", SortOrder.Descending),
  49. });
  50. return data;
  51. }
  52. }
  53. }