using Kompas.Mcp.Core.Documents; namespace Kompas.Mcp.Tests.Integration; /// /// Базовый класс интеграционных тестов: после КАЖДОГО теста закрывает все открытые документы /// КОМПАС без сохранения, чтобы не копились вкладки-пустышки (и чтобы упавший Assert не оставлял /// открытый документ). xUnit создаёт новый экземпляр тест-класса на каждый тест-метод, поэтому /// вызывается per-test — это и есть точка очистки. /// public abstract class IntegrationTestBase : IAsyncLifetime { private readonly DocumentService _cleanupDocs; protected IntegrationTestBase(KompasFixture fx) => _cleanupDocs = new DocumentService(fx.Session, fx.Dispatcher); public Task InitializeAsync() => Task.CompletedTask; public Task DisposeAsync() => _cleanupDocs.CloseAllAsync(); }