test: add workbench tests and MVP documentation
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
using DocumentAutomation.Shared;
|
||||
using StandardsWorkbench.Core;
|
||||
|
||||
namespace StandardsWorkbench.Tests;
|
||||
|
||||
public sealed class RulesEngineTests
|
||||
{
|
||||
[Fact]
|
||||
public void OnlyApprovedRulesAreEvaluated()
|
||||
{
|
||||
var document = new DocumentInspectionResult { FilePath = "synthetic.docx", ContentControls = 1, Sections = 1, Paragraphs = 2, Tables = 0 };
|
||||
var profile = new ApprovedRulesProfile { StandardId = "TEST", Code = "TEST", Revision = "1", Rules = [
|
||||
new CandidateRule { CandidateId = "approved", StandardId = "TEST", ClauseId = "1", SourceText = "x", Title = "x", RuleKind = "ContentControlPresence", Status = "Approved" },
|
||||
new CandidateRule { CandidateId = "new", StandardId = "TEST", ClauseId = "2", SourceText = "x", Title = "x", RuleKind = "SectionCount", Status = "New" }
|
||||
], SourceFileSha256 = "test"};
|
||||
var result = new RulesEngine().Evaluate(document, profile); Assert.Single(result); Assert.Equal(RuleEvaluationStatus.Pass, result[0].Status);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void FailedRuleHasClauseReference()
|
||||
{
|
||||
var document = new DocumentInspectionResult { FilePath = "synthetic.docx", ContentControls = 0, Sections = 1, Paragraphs = 1, Tables = 0 };
|
||||
var rule = new CandidateRule { CandidateId = "cc", StandardId = "TEST", ClauseId = "6.3", SourcePage = 4, SourceText = "required", Title = "cc", RuleKind = "ContentControlPresence", Status = "Tested" };
|
||||
var result = Assert.Single(new RulesEngine().Evaluate(document, new ApprovedRulesProfile { StandardId = "TEST", Code = "TEST", Revision = "1", SourceFileSha256 = "test", Rules = [rule] })); Assert.Equal(RuleEvaluationStatus.Fail, result.Status); Assert.Equal("6.3", result.ClauseId); Assert.Equal(4, result.SourcePage);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user