Merge pull request #74 from Curabis/rule/given-completeness-edison-sharpen-smoketest

[BCQuality] Sharpen GIVEN-completeness rule per Edison eval: smoke-test carve-out
This commit is contained in:
Michael Dieringer 2026-08-13 22:33:06 +02:00 • committed by GitHub
commit 7bb2474630
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -57,12 +57,26 @@ filter works" from "the filter does nothing." Also account for:
those are easy to leave at zero/blank and get a report that "runs" but those are easy to leave at zero/blank and get a report that "runs" but
never touches the logic under test. never touches the logic under test.
**Carve-out: smoke tests don't need an excluded record.** A test whose
own `[SCENARIO]`/name explicitly claims only "the report runs without
error" — not filter correctness — is not violating this rule by setting
up a single matching record with no excluded counterpart. The
included/excluded pairing requirement applies to tests that claim to
verify filtering or dataset logic; it does not retroactively apply to a
test that never made that claim. What *is* required either way: the test's
own scope must say which claim it's making — an undocumented single-record
`[GIVEN]` on a report test is ambiguous (is this an incomplete filter test,
or a deliberate smoke test?), and that ambiguity is the actual violation,
not the missing excluded record by itself.
## Review Checklist ## Review Checklist
1. For a posting test: does `[GIVEN]` set up every posting group / setup 1. For a posting test: does `[GIVEN]` set up every posting group / setup
record the routine will read, or only the primary document? record the routine will read, or only the primary document?
2. For a report test: does `[GIVEN]` include at least one record that 2. For a report test that claims to verify filtering or dataset logic:
should be filtered *out*, not only records that should appear? does `[GIVEN]` include at least one record that should be filtered
*out*, not only records that should appear? (A test explicitly scoped
as a run-without-error smoke test is exempt — see Report Scenarios.)
3. Does `[GIVEN]` set dates/parameters explicitly wherever the code under 3. Does `[GIVEN]` set dates/parameters explicitly wherever the code under
test branches on them, rather than relying on sandbox defaults? test branches on them, rather than relying on sandbox defaults?
4. If posting or report execution fails with a setup-related error 4. If posting or report execution fails with a setup-related error