You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

UserTests.cs 3.2 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using Discord;
  8. using Discord.Tests.Framework;
  9. namespace Discord.Tests.Rest
  10. {
  11. [TestClass]
  12. public class UserTests
  13. {
  14. public static TestContext Context;
  15. private static DiscordClient _client;
  16. [ClassInitialize]
  17. public static void Initialize(TestContext context)
  18. {
  19. Context = context;
  20. _client = new DiscordClient(new DiscordConfig() { RestClientProvider = (url, ct) => new TestRestClient(url, ct) });
  21. if (EndpointHandler.Instance == null) EndpointHandler.Instance = new EndpointHandler();
  22. if (Json.Serializer == null) new Json();
  23. Framework.Responses.Users.UserHandlers.Mode = Framework.Responses.Users.TestMode.User;
  24. _client.LoginAsync(TokenType.User, "UserToken_Voltana").GetAwaiter().GetResult();
  25. }
  26. [TestMethod]
  27. [TestCategory("Users")]
  28. public async Task Test_Get_Current_User()
  29. {
  30. var currentUser = await _client.GetCurrentUserAsync();
  31. Assert.AreEqual((UInt64)66078337084162048, currentUser.Id, "Expected Id '66078337084162048'");
  32. Assert.AreEqual("Voltana", currentUser.Username, "Expected Name 'Voltana'");
  33. Assert.AreEqual(0001, currentUser.Discriminator, "Expected Discriminator '0001'");
  34. // Cannot Test Avatar URLs, Avatar ID not exposed publicly.
  35. Assert.AreEqual(true, currentUser.IsVerified, "Expected Verified 'true'");
  36. Assert.AreEqual("hello-i-am-not-real@foxbot.me", currentUser.Email, "Expected Email 'hello-i-am-not-real@foxbot.me'");
  37. Assert.AreEqual(false, currentUser.IsBot, "Expected IsBot 'false'");
  38. Assert.AreEqual("<@66078337084162048>", currentUser.Mention, "Expected Mention '<@66078337084162048>'");
  39. Assert.AreEqual(new DateTime(635714215032370000), currentUser.CreatedAt, "Expected Created At '635714215032370000'");
  40. }
  41. [TestMethod]
  42. [TestCategory("Users")]
  43. public async Task Test_Get_User()
  44. {
  45. var user = await _client.GetUserAsync(96642168176807936);
  46. Assert.AreEqual((UInt64)96642168176807936, user.Id, "Expected Id '96642168176807936'");
  47. Assert.AreEqual("Khionu", user.Username, "Expected Name 'Khionu'");
  48. Assert.AreEqual(9999, user.Discriminator, "Expected Discriminator '0001'");
  49. // Cannot Test Avatar URLs, Avatar ID not exposed publicly.
  50. Assert.AreEqual(false, user.IsBot, "Expected IsBot 'false'");
  51. Assert.AreEqual("<@!96642168176807936>", user.NicknameMention, "Expected Mention '<@!96642168176807936>'");
  52. Assert.AreEqual(new DateTime(635787084884180000), user.CreatedAt, "Expected Created At '635787084884180000'");
  53. }
  54. [TestMethod]
  55. [TestCategory("Users")]
  56. public async Task Test_Get_Invalid_User()
  57. {
  58. var user = await _client.GetUserAsync(1);
  59. Assert.IsNull(user, "Expected Invalid User to be 'null'");
  60. }
  61. }
  62. }