Newer
Older
percord / extra / admin-api / Tests / Spacebar.Tests / Tests / GuildTests.cs
using Spacebar.Sdk.Core;
using Spacebar.Tests.Abstractions;
using Spacebar.Tests.Extensions;
using Spacebar.Tests.Fixtures;
using Xunit.Microsoft.DependencyInjection.Abstracts;

namespace Spacebar.Tests.Tests;

public class GuildTests(ITestOutputHelper testOutputHelper, TestFixture fixture) : TestBed<TestFixture>(testOutputHelper, fixture) {
    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);

    [Fact]
    public async Task CreateGuild() {
        var client = await _userAbstraction.GetSharedUser();
        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() {
            Name = "Test guild"
        });
        
        Assert.Equal("Test guild", guild.Name);

        var channels = await client.GetGuild(guild.Id).GetChannelsAsync();
        Assert.NotEmpty(channels);
        foreach (var channel in channels) {
            Assert.StringNotNullOrWhitespace(channel.Name);
        }
    }
}