Started new testbed
This commit is contained in:
142
test/Discord.Net.Tests/Tests.Channels.cs
Normal file
142
test/Discord.Net.Tests/Tests.Channels.cs
Normal file
@@ -0,0 +1,142 @@
|
||||
using Discord.Rest;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Xunit;
|
||||
|
||||
namespace Discord
|
||||
{
|
||||
public partial class Tests
|
||||
{
|
||||
internal static async Task Migration_CreateTextChannels(DiscordRestClient client, RestGuild guild)
|
||||
{
|
||||
var text1 = await guild.GetDefaultChannelAsync();
|
||||
var text2 = await guild.CreateTextChannelAsync("text2");
|
||||
var text3 = await guild.CreateTextChannelAsync("text3");
|
||||
var text4 = await guild.CreateTextChannelAsync("text4");
|
||||
var text5 = await guild.CreateTextChannelAsync("text5");
|
||||
|
||||
//Modify #general
|
||||
await text1.ModifyAsync(x =>
|
||||
{
|
||||
x.Name = "text1";
|
||||
x.Position = 1;
|
||||
x.Topic = "Topic1";
|
||||
});
|
||||
|
||||
await text2.ModifyAsync(x =>
|
||||
{
|
||||
x.Position = 2;
|
||||
});
|
||||
await text3.ModifyAsync(x =>
|
||||
{
|
||||
x.Topic = "Topic2";
|
||||
});
|
||||
await text4.ModifyAsync(x =>
|
||||
{
|
||||
x.Position = 3;
|
||||
x.Topic = "Topic2";
|
||||
});
|
||||
await text5.ModifyAsync(x =>
|
||||
{
|
||||
});
|
||||
|
||||
CheckTextChannels(guild, text1, text2, text3, text4, text5);
|
||||
}
|
||||
[Fact]
|
||||
public async Task TestTextChannels()
|
||||
{
|
||||
CheckTextChannels(_guild, (await _guild.GetTextChannelsAsync()).ToArray());
|
||||
}
|
||||
private static void CheckTextChannels(RestGuild guild, params RestTextChannel[] textChannels)
|
||||
{
|
||||
Assert.Equal(textChannels.Length, 5);
|
||||
Assert.All(textChannels, x =>
|
||||
{
|
||||
Assert.NotNull(x);
|
||||
Assert.NotEqual(x.Id, 0UL);
|
||||
Assert.True(x.Position >= 0);
|
||||
});
|
||||
|
||||
var text1 = textChannels.Where(x => x.Name == "text1").FirstOrDefault();
|
||||
var text2 = textChannels.Where(x => x.Name == "text2").FirstOrDefault();
|
||||
var text3 = textChannels.Where(x => x.Name == "text3").FirstOrDefault();
|
||||
var text4 = textChannels.Where(x => x.Name == "text4").FirstOrDefault();
|
||||
var text5 = textChannels.Where(x => x.Name == "text5").FirstOrDefault();
|
||||
|
||||
Assert.NotNull(text1);
|
||||
Assert.True(text1.Id == guild.DefaultChannelId);
|
||||
Assert.Equal(text1.Position, 1);
|
||||
Assert.Equal(text1.Topic, "Topic1");
|
||||
|
||||
Assert.NotNull(text2);
|
||||
Assert.Equal(text2.Position, 2);
|
||||
Assert.Null(text2.Topic);
|
||||
|
||||
Assert.NotNull(text3);
|
||||
Assert.Equal(text3.Topic, "Topic2");
|
||||
|
||||
Assert.NotNull(text4);
|
||||
Assert.Equal(text4.Position, 3);
|
||||
Assert.Equal(text4.Topic, "Topic2");
|
||||
|
||||
Assert.NotNull(text5);
|
||||
Assert.Null(text5.Topic);
|
||||
}
|
||||
|
||||
internal static async Task Migration_CreateVoiceChannels(DiscordRestClient client, RestGuild guild)
|
||||
{
|
||||
var voice1 = await guild.CreateVoiceChannelAsync("voice1");
|
||||
var voice2 = await guild.CreateVoiceChannelAsync("voice2");
|
||||
var voice3 = await guild.CreateVoiceChannelAsync("voice3");
|
||||
|
||||
await voice1.ModifyAsync(x =>
|
||||
{
|
||||
x.Bitrate = 96000;
|
||||
x.Position = 1;
|
||||
x.UserLimit = 8;
|
||||
});
|
||||
await voice2.ModifyAsync(x =>
|
||||
{
|
||||
x.Bitrate = 64000;
|
||||
x.Position = 1;
|
||||
x.UserLimit = null;
|
||||
});
|
||||
await voice3.ModifyAsync(x =>
|
||||
{
|
||||
x.Bitrate = 8000;
|
||||
x.Position = 1;
|
||||
x.UserLimit = 16;
|
||||
});
|
||||
|
||||
CheckVoiceChannels(guild, voice1, voice2, voice3);
|
||||
}
|
||||
[Fact]
|
||||
public async Task TestVoiceChannels()
|
||||
{
|
||||
CheckVoiceChannels(_guild, (await _guild.GetVoiceChannelsAsync()).ToArray());
|
||||
}
|
||||
private static void CheckVoiceChannels(RestGuild guild, params RestVoiceChannel[] voiceChannels)
|
||||
{
|
||||
Assert.Equal(voiceChannels.Length, 3);
|
||||
|
||||
var voice1 = voiceChannels.Where(x => x.Name == "voice1").FirstOrDefault();
|
||||
var voice2 = voiceChannels.Where(x => x.Name == "voice2").FirstOrDefault();
|
||||
var voice3 = voiceChannels.Where(x => x.Name == "voice3").FirstOrDefault();
|
||||
|
||||
Assert.NotNull(voice1);
|
||||
Assert.Equal(voice1.Bitrate, 96000);
|
||||
Assert.Equal(voice1.Position, 1);
|
||||
Assert.Equal(voice1.UserLimit, 8);
|
||||
|
||||
Assert.NotNull(voice2);
|
||||
Assert.Equal(voice2.Bitrate, 64000);
|
||||
Assert.Equal(voice2.Position, 1);
|
||||
Assert.Equal(voice2.UserLimit, null);
|
||||
|
||||
Assert.NotNull(voice3);
|
||||
Assert.Equal(voice3.Bitrate, 8000);
|
||||
Assert.Equal(voice3.Position, 1);
|
||||
Assert.Equal(voice3.UserLimit, 16);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user