using FluentAssertions; using foodmarket.IntegrationTests.Support; using Xunit; namespace foodmarket.IntegrationTests; [Collection(ApiCollection.Name)] public class HangfireDashboardTests { private readonly ApiFactory _factory; public HangfireDashboardTests(ApiFactory factory) => _factory = factory; /// В тестах Hangfire-сервер выключен (Hangfire__Enabled=false), и /// dashboard-маршрут не маппится. Проверяем что /hangfire вообще не отвечает /// 200/302 без auth — то есть гейт работает на уровне отсутствия маршрута. /// На проде (Hangfire включён) фильтр SuperAdminHangfireFilter блокирует /// неавторизованных пользователей. См. SuperAdminHangfireFilter. [Fact] public async Task Dashboard_not_exposed_when_disabled_in_tests() { var api = new ApiActor(_factory.CreateClient()); using var resp = await api.Http.GetAsync("/hangfire"); // В тестовом режиме сервер не поднят, маршрут не зарегистрирован → 404. resp.StatusCode.Should().Be(System.Net.HttpStatusCode.NotFound); } }