8afad88241
Базовый класс IntegrationTestBase (IAsyncLifetime) закрывает все открытые документы КОМПАС после КАЖДОГО теста (DocumentService.CloseAllAsync) — чтобы не копились вкладки-пустышки и упавший Assert не оставлял открытый документ. Все интеграционные тест-классы переведены на него (: base(fx)); индивидуальные finally CloseAsync сохранены как первичная очистка. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
32 lines
909 B
C#
32 lines
909 B
C#
namespace Kompas.Mcp.Tests.Integration;
|
|
|
|
/// <summary>Интеграция: подключение к КОМПАС. Требует установленный КОМПАС-3D.</summary>
|
|
[Trait("Category", "Integration")]
|
|
[Collection(KompasCollection.Name)]
|
|
public sealed class ConnectionTests : IntegrationTestBase
|
|
{
|
|
private readonly KompasFixture _fx;
|
|
|
|
public ConnectionTests(KompasFixture fx) : base(fx) => _fx = fx;
|
|
|
|
[Fact]
|
|
public void Connects_to_kompas()
|
|
{
|
|
Assert.True(_fx.Session.IsConnected);
|
|
}
|
|
|
|
[Fact]
|
|
public void Reports_version_24()
|
|
{
|
|
Assert.False(string.IsNullOrWhiteSpace(_fx.Info.Version));
|
|
Assert.StartsWith("24", _fx.Info.Version);
|
|
}
|
|
|
|
[Fact]
|
|
public void Reports_progid_and_edition()
|
|
{
|
|
Assert.Contains("Application.5", _fx.Info.ProgId);
|
|
Assert.False(string.IsNullOrWhiteSpace(_fx.Info.Edition));
|
|
}
|
|
}
|