Files
Radicade/ServerTests/QuestGameConfigTests.cs
2026-10-16 23:33:13 -07:00

30 lines
1.1 KiB
C#

using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using RadicadeServer.API.Config;
using RadicadeServer.DB;
using RadicadeServer.RecNet.Config;
using Xunit;
namespace RadicadeServer.Tests;
public class QuestGameConfigTests
{
[Theory]
[InlineData(false)]
[InlineData(true)]
public void QuestProbeIsDisabledWithOrWithoutLegacySeed(bool seeded)
{
using var db = new RecDBContext(TestDbOptions.Create()
.UseInMemoryDatabase(Guid.NewGuid().ToString()).Options);
if (seeded) db.GameConfig.Add(new ConfigVal("AntiHile.QD", "true"));
db.GameConfig.Add(new ConfigVal("QuestTest.Unrelated", "preserved"));
db.SaveChanges();
var result = Assert.IsType<OkObjectResult>(new GameConfigAPI(db).GetAllGameConfigs());
var configs = Assert.IsType<List<ConfigVal>>(result.Value);
Assert.Equal("false", Assert.Single(configs.Where(x => x.Key == "AntiHile.QD")).Value);
Assert.Equal("preserved", configs.Single(x => x.Key == "QuestTest.Unrelated").Value);
if (seeded) Assert.Equal("true", db.GameConfig.Single(x => x.Key == "AntiHile.QD").Value);
}
}