Files
crmPRO/tests/Domain/Tasks/TaskAttachmentRepositoryTest.php
Jacek Pyziak 47ffc19a23 Refactor task management and add attachment functionality
- Updated task editing template to handle default status for new tasks and corrected variable names.
- Enhanced work time reporting by rounding time to the nearest quarter hour and adjusting amount formatting.
- Introduced TasksController to manage task-related operations, including status resolution and email notifications.
- Added TaskAttachmentRepository for handling task attachments, including upload, rename, and delete functionalities.
- Implemented WorkTimeRepository to fetch clients with unsettled tasks and calculate total work time.
- Created unit tests for TasksController and TaskAttachmentRepository to ensure functionality and correctness.
2026-02-06 23:11:48 +01:00

29 lines
948 B
PHP

<?php
require_once __DIR__ . '/../../../autoload/Domain/Tasks/TaskAttachmentRepository.php';
use Domain\Tasks\TaskAttachmentRepository;
function run_task_attachment_repository_tests()
{
assert_true(
TaskAttachmentRepository::effectiveTitle( ' Raport ', 'plik.pdf' ) === 'Raport',
'Expected effective title to prefer trimmed custom title.'
);
assert_true(
TaskAttachmentRepository::effectiveTitle( '', 'plik.pdf' ) === 'plik.pdf',
'Expected effective title to fallback to original file name.'
);
$sanitized = TaskAttachmentRepository::sanitizeFileName( 'Załącznik #1 (final).pdf' );
assert_true(
strpos( $sanitized, '#' ) === false
&& strpos( $sanitized, '(' ) === false
&& strpos( $sanitized, ')' ) === false
&& strpos( $sanitized, ' ' ) === false
&& substr( $sanitized, -4 ) === '.pdf',
'Expected sanitized file name to remove unsupported characters and keep extension.'
);
}