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(new GameConfigAPI(db).GetAllGameConfigs()); var configs = Assert.IsType>(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); } }