1
0
mirror of https://github.com/RaidMax/IW4M-Admin.git synced 2025-06-10 15:20:48 -05:00

add shortcut for rules in penalty reasons for issue #159

This commit is contained in:
RaidMax
2020-11-18 18:48:24 -06:00
parent 5f912aad7f
commit d067c1d4d5
5 changed files with 238 additions and 26 deletions

View File

@ -41,6 +41,10 @@ namespace ApplicationTests
.AddSingleton<SetLevelCommand>()
.AddSingleton<RunAsCommand>()
.AddSingleton<PrivateMessageAdminsCommand>()
.AddSingleton<KickCommand>()
.AddSingleton<WarnCommand>()
.AddSingleton<TempBanCommand>()
.AddSingleton<BanCommand>()
.BuildServiceProvider()
.SetupTestHooks();
@ -628,5 +632,171 @@ namespace ApplicationTests
.MustHaveHappened();
}
#endregion
#region REASON_FROM_RULE
[Test]
public async Task Test_Warn_WithGlobalRule()
{
var expectedReason = "testglobalrule";
appConfig.GlobalRules = new[] {expectedReason};
var command = serviceProvider.GetRequiredService<WarnCommand>();
var server = serviceProvider.GetRequiredService<IW4MServer>();
var gameEvent = EventGenerators.GenerateEvent(GameEvent.EventType.Command, "rule1", server);
gameEvent.Origin.CurrentServer = server;
gameEvent.Target = gameEvent.Origin;
await command.ExecuteAsync(gameEvent);
Assert.NotNull(mockEventHandler.Events
.FirstOrDefault(e => e.Data == expectedReason &&
e.Type == GameEvent.EventType.Warn));
}
[Test]
public async Task Test_Warn_WithServerRule()
{
var server = serviceProvider.GetRequiredService<IW4MServer>();
var expectedReason = "testserverrule";
appConfig.Servers = new [] { new ServerConfiguration()
{
IPAddress = server.IP,
Port = server.Port,
Rules = new []{ expectedReason }
}};
var command = serviceProvider.GetRequiredService<WarnCommand>();
var gameEvent = EventGenerators.GenerateEvent(GameEvent.EventType.Command, "serverrule1", server);
gameEvent.Origin.CurrentServer = server;
gameEvent.Target = gameEvent.Origin;
await command.ExecuteAsync(gameEvent);
Assert.NotNull(mockEventHandler.Events
.FirstOrDefault(e => e.Data == expectedReason &&
e.Type == GameEvent.EventType.Warn));
}
[Test]
public async Task Test_Kick_WithGlobalRule()
{
var expectedReason = "testglobalrule";
appConfig.GlobalRules = new[] {expectedReason};
var command = serviceProvider.GetRequiredService<KickCommand>();
var server = serviceProvider.GetRequiredService<IW4MServer>();
var gameEvent = EventGenerators.GenerateEvent(GameEvent.EventType.Command, "rule1", server);
gameEvent.Origin.CurrentServer = server;
gameEvent.Target = gameEvent.Origin;
await command.ExecuteAsync(gameEvent);
Assert.NotNull(mockEventHandler.Events
.FirstOrDefault(e => e.Data == expectedReason &&
e.Type == GameEvent.EventType.Kick));
}
[Test]
public async Task Test_Kick_WithServerRule()
{
var server = serviceProvider.GetRequiredService<IW4MServer>();
var expectedReason = "testserverrule";
appConfig.Servers = new [] { new ServerConfiguration()
{
IPAddress = server.IP,
Port = server.Port,
Rules = new []{ expectedReason }
}};
var command = serviceProvider.GetRequiredService<KickCommand>();
var gameEvent = EventGenerators.GenerateEvent(GameEvent.EventType.Command, "serverrule1", server);
gameEvent.Origin.CurrentServer = server;
gameEvent.Target = gameEvent.Origin;
await command.ExecuteAsync(gameEvent);
Assert.NotNull(mockEventHandler.Events
.FirstOrDefault(e => e.Data == expectedReason &&
e.Type == GameEvent.EventType.Kick));
}
[Test]
public async Task Test_TempBan_WithGlobalRule()
{
var expectedReason = "testglobalrule";
appConfig.GlobalRules = new[] {expectedReason};
var command = serviceProvider.GetRequiredService<TempBanCommand>();
var server = serviceProvider.GetRequiredService<IW4MServer>();
var gameEvent = EventGenerators.GenerateEvent(GameEvent.EventType.Command, "1h rule1", server);
gameEvent.Origin.CurrentServer = server;
gameEvent.Target = gameEvent.Origin;
await command.ExecuteAsync(gameEvent);
Assert.NotNull(mockEventHandler.Events
.FirstOrDefault(e => e.Data == expectedReason &&
e.Type == GameEvent.EventType.TempBan));
}
[Test]
public async Task Test_TempBan_WithServerRule()
{
var server = serviceProvider.GetRequiredService<IW4MServer>();
var expectedReason = "testserverrule";
appConfig.Servers = new [] { new ServerConfiguration()
{
IPAddress = server.IP,
Port = server.Port,
Rules = new []{ expectedReason }
}};
var command = serviceProvider.GetRequiredService<TempBanCommand>();
var gameEvent = EventGenerators.GenerateEvent(GameEvent.EventType.Command, "1h serverrule1", server);
gameEvent.Origin.CurrentServer = server;
gameEvent.Target = gameEvent.Origin;
await command.ExecuteAsync(gameEvent);
Assert.NotNull(mockEventHandler.Events
.FirstOrDefault(e => e.Data == expectedReason &&
e.Type == GameEvent.EventType.TempBan));
}
[Test]
public async Task Test_Ban_WithGlobalRule()
{
var expectedReason = "testglobalrule";
appConfig.GlobalRules = new[] {expectedReason};
var command = serviceProvider.GetRequiredService<BanCommand>();
var server = serviceProvider.GetRequiredService<IW4MServer>();
var gameEvent = EventGenerators.GenerateEvent(GameEvent.EventType.Command, "rule1", server);
gameEvent.Origin.CurrentServer = server;
gameEvent.Target = gameEvent.Origin;
await command.ExecuteAsync(gameEvent);
Assert.NotNull(mockEventHandler.Events
.FirstOrDefault(e => e.Data == expectedReason &&
e.Type == GameEvent.EventType.Ban));
}
[Test]
public async Task Test_Ban_WithServerRule()
{
var server = serviceProvider.GetRequiredService<IW4MServer>();
var expectedReason = "testserverrule";
appConfig.Servers = new [] { new ServerConfiguration()
{
IPAddress = server.IP,
Port = server.Port,
Rules = new []{ expectedReason }
}};
var command = serviceProvider.GetRequiredService<BanCommand>();
var gameEvent = EventGenerators.GenerateEvent(GameEvent.EventType.Command, "serverrule1", server);
gameEvent.Origin.CurrentServer = server;
gameEvent.Target = gameEvent.Origin;
await command.ExecuteAsync(gameEvent);
Assert.NotNull(mockEventHandler.Events
.FirstOrDefault(e => e.Data == expectedReason &&
e.Type == GameEvent.EventType.Ban));
}
#endregion
}
}