summary refs log tree commit diff
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-06-19 05:59:12 +0200
committerRory& <root@rory.gay>2026-06-19 05:59:12 +0200
commit0c6da7e7180d25201e98e0d223f60afc9f497f7c (patch)
tree3d85f8f73fe8dfba2cc05e813d21c71e41bbac49
parentMinor CDN-CS work (diff)
downloadserver-ts-0c6da7e7180d25201e98e0d223f60afc9f497f7c.tar.xz
More tests
-rw-r--r--extra/admin-api/Tests/Spacebar.Tests/Tests/ChannelTests.cs23
-rw-r--r--extra/admin-api/Tests/Spacebar.Tests/Tests/GuildTests.cs42
2 files changed, 43 insertions, 22 deletions
diff --git a/extra/admin-api/Tests/Spacebar.Tests/Tests/ChannelTests.cs b/extra/admin-api/Tests/Spacebar.Tests/Tests/ChannelTests.cs

index cd852263..0bae6d34 100644 --- a/extra/admin-api/Tests/Spacebar.Tests/Tests/ChannelTests.cs +++ b/extra/admin-api/Tests/Spacebar.Tests/Tests/ChannelTests.cs
@@ -16,6 +16,7 @@ public class ChannelTests(ITestOutputHelper testOutputHelper, TestFixture fixtur private static AuthenticatedSpacebarClient Client { get; set; } = null!; private static Guild? Guild { get; set; } + private static Channel? Channel { get; set; } public async ValueTask InitializeAsync() { testOutputHelper.WriteLine("Running InitializeAsync"); @@ -25,6 +26,7 @@ public class ChannelTests(ITestOutputHelper testOutputHelper, TestFixture fixtur Guild ??= await Client.CreateGuild(new() { Name = "Test guild" }); + Channel ??= await Client.GetGuild(Guild.Id).CreateChannelAsync(new() { Name = "meow", Type = 0 }); } [Fact] @@ -32,7 +34,7 @@ public class ChannelTests(ITestOutputHelper testOutputHelper, TestFixture fixtur Assert.Equal("Test guild", Guild!.Name); var channel = await Client!.GetGuild(Guild.Id).CreateChannelAsync(new() { Name = "test", - Type = 0 + Type = 0 // TODO: this should be the default }); Assert.Equal("test", channel.Name); @@ -40,18 +42,15 @@ public class ChannelTests(ITestOutputHelper testOutputHelper, TestFixture fixtur [Fact] public async Task GetChannel() { - Assert.Equal("Test guild", Guild!.Name); - var channel = await Client!.GetGuild(Guild.Id).CreateChannelAsync(new() { - Name = "test", - Type = 0 - }); - Assert.Equal("test", channel.Name); - - var res = await Client.ApiHttpClient.GetAsync("channels/" + channel.Id, TestContext.Current.CancellationToken); - await Assert.HttpSuccess(res); + var res = await Assert.HttpSuccess(await Client.ApiHttpClient.GetAsync("channels/" + Channel.Id, TestContext.Current.CancellationToken)); var channelResp = await res.Content.ReadFromJsonAsync<Channel>(cancellationToken: TestContext.Current.CancellationToken); - Assert.Equal(channel.Name, channelResp!.Name); - Assert.Equal(channel.Id, channelResp!.Id); + Assert.Equal(Channel.Name, channelResp!.Name); + Assert.Equal(Channel.Id, channelResp!.Id); + } + + [Fact] + public async Task SendTyping() { + await Assert.HttpSuccess(await Client.ApiHttpClient.PostAsync($"channels/{Channel!.Id}/typing", null, TestContext.Current.CancellationToken)); } } \ No newline at end of file diff --git a/extra/admin-api/Tests/Spacebar.Tests/Tests/GuildTests.cs b/extra/admin-api/Tests/Spacebar.Tests/Tests/GuildTests.cs
index 24d2a17c..7d8fae17 100644 --- a/extra/admin-api/Tests/Spacebar.Tests/Tests/GuildTests.cs +++ b/extra/admin-api/Tests/Spacebar.Tests/Tests/GuildTests.cs
@@ -1,4 +1,6 @@ -using Spacebar.Sdk.Core; +using ArcaneLibs.Extensions; +using Spacebar.Models.Generic; +using Spacebar.Sdk.Core; using Spacebar.Tests.Abstractions; using Spacebar.Tests.Extensions; using Spacebar.Tests.Fixtures; @@ -6,35 +8,55 @@ using Xunit.Microsoft.DependencyInjection.Abstracts; namespace Spacebar.Tests.Tests; -public class GuildTests(ITestOutputHelper testOutputHelper, TestFixture fixture) : TestBed<TestFixture>(testOutputHelper, fixture) { +public class GuildTests(ITestOutputHelper testOutputHelper, TestFixture fixture) : TestBed<TestFixture>(testOutputHelper, fixture), IAsyncLifetime { private readonly Config _config = fixture.GetRequiredService<Config>(testOutputHelper); private readonly SpacebarClientWellKnownResolverService _wellKnownResolver = fixture.GetRequiredService<SpacebarClientWellKnownResolverService>(testOutputHelper); private readonly SpacebarClientProviderService _clientProvider = fixture.GetRequiredService<SpacebarClientProviderService>(testOutputHelper); private readonly UserAbstraction _userAbstraction = fixture.GetRequiredService<UserAbstraction>(testOutputHelper); + private static AuthenticatedSpacebarClient Client { get; set; } = null!; + private static Guild? Guild { get; set; } + private static Channel? Channel { get; set; } + + public async ValueTask InitializeAsync() { + testOutputHelper.WriteLine("Running InitializeAsync"); + // All these tests can share a single client + Client = await _userAbstraction.GetSharedUser(); + // ...and a guild + Guild ??= await Client.CreateGuild(new() { + Name = "Test guild" + }); + Channel ??= await Client.GetGuild(Guild.Id).CreateChannelAsync(new() { Name = "meow", Type = 0 }); + } + [Fact] public async Task CreateGuild() { - var client = await _userAbstraction.GetSharedUser(); - var guild = await client.CreateGuild(new() { + var guild = await Client.CreateGuild(new() { Name = "Test guild" }); - + Assert.Equal("Test guild", guild.Name); } - + [Fact] public async Task GetChannels() { - var client = await _userAbstraction.GetSharedUser(); - var guild = await client.CreateGuild(new() { + var guild = await Client.CreateGuild(new() { Name = "Test guild" }); - + Assert.Equal("Test guild", guild.Name); - var channels = await client.GetGuild(guild.Id).GetChannelsAsync(); + var channels = await Client.GetGuild(guild.Id).GetChannelsAsync(); Assert.NotEmpty(channels); foreach (var channel in channels) { Assert.StringNotNullOrWhitespace(channel.Name); } } + + [Fact] + public async Task SetChannelOrder() { + var cg = Client.GetGuild(Guild.Id); + var guildChannels = await cg.GetChannelsAsync(); + // testOutputHelper.WriteLine(guildChannels.Select(x=>(x.Id, x.Name)).ToJson(includeFields: true)); + } } \ No newline at end of file