TenantAtlas/apps/platform/tests/Unit/Support/TenantConfiguration/Spec426ExchangeTeamsRedactionTest.php
ahmido f7d06621a0 feat: implement Exchange Teams evidence identity readiness (#493)
Automated PR for spec 426 exchange teams core evidence identity readiness. Includes service changes and coverage/requirement/spec updates from commit fb4dc20c.

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #493
2026-07-03 11:43:11 +00:00

28 lines
1.1 KiB
PHP

<?php
declare(strict_types=1);
use App\Services\TenantConfiguration\ExchangeTeamsComparablePayloadNormalizer;
it('Spec426 redacts mail, chat, transcript, and raw provider content from typed normalized payloads', function (): void {
$normalizer = app(ExchangeTeamsComparablePayloadNormalizer::class);
$transportRule = $normalizer->normalize('transportRule', [
'Identity' => 'Rule 1',
'SubjectContainsWords' => ['payroll acquisition secret'],
'MessageBody' => 'private message body',
]);
$meetingPolicy = $normalizer->normalize('meetingPolicy', [
'Identity' => 'Meeting 1',
'RecordingTranscript' => 'meeting transcript secret',
'AllowTranscription' => true,
]);
$json = json_encode([$transportRule, $meetingPolicy], JSON_THROW_ON_ERROR);
expect($json)->not->toContain('payroll acquisition secret')
->and($json)->not->toContain('private message body')
->and($json)->not->toContain('meeting transcript secret')
->and(data_get($transportRule, 'conditions.subject_contains_words'))->toBe('[redacted]');
});