Skip to content
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 43 additions & 1 deletion test/DemaConsulting.ReqStream.Tests/ProgramTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -563,7 +563,49 @@ public void Program_Run_WithEnforcementAndNoTests_Fails()
}

/// <summary>
/// Test enforcement with failed tests fails.
/// Test Run with lint flag lints requirements files.
/// </summary>
[TestMethod]
public void Program_Run_WithLintFlag_RunsLinter()
Comment thread
Malcolmnixon marked this conversation as resolved.
{
// Create a valid requirements file
var reqFile = Path.Combine(_testDirectory, "requirements.yaml");
File.WriteAllText(reqFile, @"
sections:
- title: Test Section
requirements:
- id: REQ-001
title: Test Requirement
");

var logFile = Path.Combine(_testDirectory, "lint.log");

// Save current directory and change to test directory
var originalDir = Directory.GetCurrentDirectory();
try
{
Directory.SetCurrentDirectory(_testDirectory);

using (var context = Context.Create(["--lint", "--requirements", "*.yaml", "--silent", "--log", logFile]))
{
Program.Run(context);

Assert.AreEqual(0, context.ExitCode);
}
}
finally
{
Directory.SetCurrentDirectory(originalDir);
}

// Check log contains expected lint output (after context is disposed to flush log)
Assert.IsTrue(File.Exists(logFile), "Log file should exist");
var logContent = File.ReadAllText(logFile);
StringAssert.Contains(logContent, "No issues found");
}

/// <summary>
/// Test Run with enforcement mode and failed tests fails.
/// </summary>
[TestMethod]
public void Program_Run_WithEnforcementAndFailedTests_Fails()
Expand Down
Loading