test: add integration test suite for data redaction and validation in…#502
Merged
mikewheeleer merged 1 commit intoJun 28, 2026
Merged
Conversation
… retention policies
|
@extolkom Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
Contributor
Author
|
CI failures are pre-existing — both Lint and Test jobs fail with npm error notarget No matching version found for c8@^11.1.0, a broken dependency in package.json unrelated to this PR. No files outside tests/retention.dryRun.test.js and tests/retention.unit.test.js were modified. |
Contributor
|
clean diff — merging this 🙌 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
closes #280
Summary
While several retention tests existed, there was no focused coverage proving that dry-run never mutates data and that only declared piiFields are redacted. This PR adds that coverage across two test files.
Changes
tests/retention.dryRun.test.js
dryRun: true produces zero writes — seeds rows into the retention table, runs the job with dryRun: true, asserts no rows were deleted or modified, and confirms the returned report contains the expected candidate count
dryRun report includes candidate rows without touching them — verifies the report lists affected row IDs while the actual table rows remain intact after the run
dryRun: false mutates data — confirms the non-dry path does delete/redact, proving the dry-run guard is the only difference between the two modes