|
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Discord.Rest;
-
- namespace Discord.Tests.Rest
- {
- [TestClass]
- public class UserTests
- {
- public static TestContext Context;
- private static DiscordClient _client;
-
- [ClassInitialize]
- public static void Initialize(TestContext context)
- {
- Context = context;
- _client = new DiscordClient(new DiscordConfig() { RestClientProvider = (url, ct) => new TestRestClient(url, ct) });
- if (EndpointHandler.Instance == null) EndpointHandler.Instance = new EndpointHandler();
- if (Json.Serializer == null) new Json();
- Responses.Users.UserHandlers.Mode = Rest.Responses.Users.TestMode.User;
- _client.Login(TokenType.User, "UserToken_Voltana").Wait();
- }
-
- [TestMethod]
- [TestCategory("Users")]
- public async Task Test_Get_Current_User()
- {
- var currentUser = await _client.GetCurrentUser();
- Assert.AreEqual((UInt64)66078337084162048, currentUser.Id, "Expected Id '66078337084162048'");
- Assert.AreEqual("Voltana", currentUser.Username, "Expected Name 'Voltana'");
- Assert.AreEqual(0001, currentUser.Discriminator, "Expected Discriminator '0001'");
- // Cannot Test Avatar URLs, Avatar ID not exposed publicly.
- Assert.AreEqual(true, currentUser.IsVerified, "Expected Verified 'true'");
- Assert.AreEqual("hello-i-am-not-real@foxbot.me", currentUser.Email, "Expected Email 'hello-i-am-not-real@foxbot.me'");
- Assert.AreEqual(UserStatus.Unknown, currentUser.Status, "UserStatus should not be populated.");
- Assert.AreEqual(false, currentUser.IsBot, "Expected IsBot 'false'");
- Assert.AreEqual("<@66078337084162048>", currentUser.Mention, "Expected Mention '<@66078337084162048>'");
- Assert.IsNull(currentUser.CurrentGame, "CurrentGame should not be populated.");
- Assert.AreEqual(new DateTime(635714215032370000), currentUser.CreatedAt, "Expected Created At '635714215032370000'");
- }
- [TestMethod]
- [TestCategory("Users")]
- public async Task Test_Get_User()
- {
- var user = await _client.GetUser(96642168176807936);
- Assert.AreEqual((UInt64)96642168176807936, user.Id, "Expected Id '96642168176807936'");
- Assert.AreEqual("Khionu", user.Username, "Expected Name 'Khionu'");
- Assert.AreEqual(9999, user.Discriminator, "Expected Discriminator '0001'");
- // Cannot Test Avatar URLs, Avatar ID not exposed publicly.
- Assert.AreEqual(false, user.IsBot, "Expected IsBot 'false'");
- Assert.AreEqual("<@!96642168176807936>", user.NicknameMention, "Expected Mention '<@!96642168176807936>'");
- Assert.AreEqual(new DateTime(635787084884180000), user.CreatedAt, "Expected Created At '635787084884180000'");
- }
- [TestMethod]
- [TestCategory("Users")]
- public async Task Test_Get_Invalid_User()
- {
- var user = await _client.GetUser(1);
- Assert.IsNull(user, "Expected Invalid User to be 'null'");
- }
- }
- }
|