TenantAtlas/apps/platform/tests/Unit/Support/TenantConfiguration/Spec426ExchangeTeamsRedactionTest.php
Ahmed Darrazi fb4dc20cb0
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 5m11s
feat: implement Exchange Teams evidence identity readiness
2026-07-03 13:41:08 +02: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]');
});