Files
Gangs/GangsTest/Commands/GangCommandTests.cs
Isaac fc6c53e4eb Dev (#10)
* Add SQL Gang Manager

* Disable coverage in CS#-specific folder

* Fix dotnet CI

* Update coverage settings

* Run CI when coverage settings change

* Actually include those settings in CI
2024-09-02 23:37:27 -07:00

49 lines
1.4 KiB
C#

using Commands;
using GangsAPI.Data.Command;
using GangsAPI.Services;
using GangsAPI.Services.Commands;
namespace GangsTest.Commands;
public class GangCommandTests(ICommandManager commands, IGangManager gangMgr)
: CommandTests(commands, new GangCommand(gangMgr)) {
[Fact]
public async Task Gang_TestBase() {
Assert.Equal("css_gang", Command.Name);
Assert.Equal(CommandResult.INVALID_ARGS,
await Commands.ProcessCommand(TestPlayer, Command.Name));
}
[Fact]
public async Task Gang_TestInvalid_Name() {
await Assert.ThrowsAnyAsync<InvalidOperationException>(async () => {
await Command.Execute(TestPlayer,
new CommandInfoWrapper(TestPlayer, 0, "foobar"));
});
}
[Fact]
public async Task Gang_TestInvalid_Null() {
await Assert.ThrowsAnyAsync<InvalidOperationException>(async () => {
await Command.Execute(TestPlayer, new CommandInfoWrapper(TestPlayer));
});
}
[Fact]
public async Task Gang_TestUnknown() {
Assert.Equal(CommandResult.UNKNOWN_COMMAND,
await Commands.ProcessCommand(TestPlayer, Command.Name, "foobar"));
}
[Fact]
public async Task Gang_TestHelp() {
Assert.Equal(CommandResult.SUCCESS,
await Commands.ProcessCommand(TestPlayer, "css_gang", "help"));
}
[Fact]
public async Task Gang_TestHelp_Single() {
Assert.Equal(CommandResult.UNKNOWN_COMMAND,
await Commands.ProcessCommand(TestPlayer, "css_gang help"));
}
}