PlaystateControllerTests.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using System;
  2. using System.Net;
  3. using System.Threading.Tasks;
  4. using Xunit;
  5. namespace Jellyfin.Server.Integration.Tests.Controllers;
  6. public class PlaystateControllerTests : IClassFixture<JellyfinApplicationFactory>
  7. {
  8. private readonly JellyfinApplicationFactory _factory;
  9. private static string? _accessToken;
  10. public PlaystateControllerTests(JellyfinApplicationFactory factory)
  11. {
  12. _factory = factory;
  13. }
  14. [Fact]
  15. public async Task DeleteMarkUnplayedItem_NonexistentUserId_NotFound()
  16. {
  17. var client = _factory.CreateClient();
  18. client.DefaultRequestHeaders.AddAuthHeader(_accessToken ??= await AuthHelper.CompleteStartupAsync(client));
  19. using var response = await client.DeleteAsync($"Users/{Guid.NewGuid()}/PlayedItems/{Guid.NewGuid()}");
  20. Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
  21. }
  22. [Fact]
  23. public async Task PostMarkPlayedItem_NonexistentUserId_NotFound()
  24. {
  25. var client = _factory.CreateClient();
  26. client.DefaultRequestHeaders.AddAuthHeader(_accessToken ??= await AuthHelper.CompleteStartupAsync(client));
  27. using var response = await client.PostAsync($"Users/{Guid.NewGuid()}/PlayedItems/{Guid.NewGuid()}", null);
  28. Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
  29. }
  30. [Fact]
  31. public async Task DeleteMarkUnplayedItem_NonexistentItemId_NotFound()
  32. {
  33. var client = _factory.CreateClient();
  34. client.DefaultRequestHeaders.AddAuthHeader(_accessToken ??= await AuthHelper.CompleteStartupAsync(client));
  35. var userDto = await AuthHelper.GetUserDtoAsync(client);
  36. using var response = await client.DeleteAsync($"Users/{userDto.Id}/PlayedItems/{Guid.NewGuid()}");
  37. Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
  38. }
  39. [Fact]
  40. public async Task PostMarkPlayedItem_NonexistentItemId_NotFound()
  41. {
  42. var client = _factory.CreateClient();
  43. client.DefaultRequestHeaders.AddAuthHeader(_accessToken ??= await AuthHelper.CompleteStartupAsync(client));
  44. var userDto = await AuthHelper.GetUserDtoAsync(client);
  45. using var response = await client.PostAsync($"Users/{userDto.Id}/PlayedItems/{Guid.NewGuid()}", null);
  46. Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
  47. }
  48. }