add a test for jobs with setPreference: false (#13182)
This commit is contained in:
@@ -5,6 +5,7 @@ using System.Threading.Tasks;
|
|||||||
using Content.Server.Maps;
|
using Content.Server.Maps;
|
||||||
using Content.Server.Station.Systems;
|
using Content.Server.Station.Systems;
|
||||||
using Content.Shared.Preferences;
|
using Content.Shared.Preferences;
|
||||||
|
using Content.Shared.Roles;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
using Robust.Shared.Log;
|
using Robust.Shared.Log;
|
||||||
@@ -188,6 +189,40 @@ public sealed class StationJobsTest
|
|||||||
});
|
});
|
||||||
await pairTracker.CleanReturnAsync();
|
await pairTracker.CleanReturnAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public async Task InvalidRoundstartJobsTest()
|
||||||
|
{
|
||||||
|
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings{NoClient = true, ExtraPrototypes = Prototypes});
|
||||||
|
var server = pairTracker.Pair.Server;
|
||||||
|
|
||||||
|
var prototypeManager = server.ResolveDependency<IPrototypeManager>();
|
||||||
|
|
||||||
|
await server.WaitAssertion(() =>
|
||||||
|
{
|
||||||
|
// invalidJobs contains all the jobs which can't be set for preference:
|
||||||
|
// i.e. all the jobs that shouldn't be available round-start.
|
||||||
|
var invalidJobs = new HashSet<string>();
|
||||||
|
foreach (var job in prototypeManager.EnumeratePrototypes<JobPrototype>())
|
||||||
|
{
|
||||||
|
if (!job.SetPreference)
|
||||||
|
invalidJobs.Add(job.ID);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var gameMap in prototypeManager.EnumeratePrototypes<GameMapPrototype>())
|
||||||
|
{
|
||||||
|
foreach (var (stationId, station) in gameMap.Stations)
|
||||||
|
{
|
||||||
|
foreach (var job in station.AvailableJobs.Keys)
|
||||||
|
{
|
||||||
|
Assert.That(invalidJobs.Contains(job), Is.False, $"Station {stationId} contains job prototype {job} which cannot be present roundstart.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
await pairTracker.CleanReturnAsync();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal static class JobExtensions
|
internal static class JobExtensions
|
||||||
|
|||||||
Reference in New Issue
Block a user