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.
This commit is contained in:
28
tests/Domain/Tasks/TaskAttachmentRepositoryTest.php
Normal file
28
tests/Domain/Tasks/TaskAttachmentRepositoryTest.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?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.'
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user