From 8522c8b5b0630b87a7446d641062f015282391bd Mon Sep 17 00:00:00 2001 From: Christopher F Date: Wed, 16 Mar 2016 18:33:57 -0400 Subject: [PATCH] Add Unit Tests for User Operations - Test User Mentions - Test User Edit [UserUpdatedEventArgs] - Test CurrentUser.Edit [UserUpdatedEventArgs] - Test SetStatus - Test SetGame --- test/Discord.Net.Tests/Tests.cs | 65 ++++++++++++++++++++++++++++++++- 1 file changed, 64 insertions(+), 1 deletion(-) diff --git a/test/Discord.Net.Tests/Tests.cs b/test/Discord.Net.Tests/Tests.cs index e1e7dba4d..1808cfa65 100644 --- a/test/Discord.Net.Tests/Tests.cs +++ b/test/Discord.Net.Tests/Tests.cs @@ -12,7 +12,7 @@ namespace Discord.Tests [TestClass] public class Tests { - private const int EventTimeout = 5000; //Max time in milliseconds to wait for an event response from our test actions + private const int EventTimeout = 10000; //Max time in milliseconds to wait for an event response from our test actions private static DiscordClient _hostClient, _targetBot, _observerBot; private static Server _testServer; @@ -283,6 +283,69 @@ namespace Discord.Tests #endregion + #region User Tests + + [TestMethod] + public void TestUserMentions() + { + var user = _targetBot.GetServer(_testServer.Id).CurrentUser; + Assert.AreEqual($"<@{user.Id}>", user.Mention); + } + [TestMethod] + public void TestUserEdit() + { + var user = _testServer.GetUser(_targetBot.CurrentUser.Id); + AssertEvent( + "UserUpdated never fired", + async () => await user.Edit(true, true, null, null), + x => _targetBot.UserUpdated += x, + x => _targetBot.UserUpdated -= x); + } + [TestMethod] + public void TestEditSelf() + { + var name = $"test_{_random.Next()}"; + AssertEvent( + "UserUpdated never fired", + async () => await _targetBot.CurrentUser.Edit(TargetPassword, name), + x => _observerBot.UserUpdated += x, + x => _observerBot.UserUpdated -= x, + (s, e) => e.After.Name == name); + } + [TestMethod] + public void TestSetStatus() + { + AssertEvent( + "UserUpdated never fired", + async () => await SetStatus(_targetBot, UserStatus.Idle), + x => _observerBot.UserUpdated += x, + x => _observerBot.UserUpdated -= x, + (s, e) => e.After.Status == UserStatus.Idle); + } + private async Task SetStatus(DiscordClient _client, UserStatus status) + { + _client.SetStatus(status); + await Task.Delay(50); + } + [TestMethod] + public void TestSetGame() + { + AssertEvent( + "UserUpdated never fired", + async () => await SetGame(_targetBot, "test game"), + x => _observerBot.UserUpdated += x, + x => _observerBot.UserUpdated -= x, + (s, e) => _targetBot.CurrentGame == "test game"); + + } + private async Task SetGame(DiscordClient _client, string game) + { + _client.SetGame(game); + await Task.Delay(5); + } + + #endregion + #region Permission Tests // Permissions