Commit graph

61 commits

Author SHA1 Message Date
1fdf7ea9cc refactor(application): move usecases under Application\Arcadia\Usecase and NotFoundException to Application\Shared\Exceptions 2026-08-17 11:18:53 +02:00
fc368cdc46 refactor(shared): reorganize DDD core building blocks into sub-namespaces (Model, Port, Event) 2026-08-17 10:31:28 +02:00
53a5990c3a
test(arch): make CodingStandardsTest standalone without container dependency 2026-08-17 09:44:10 +02:00
e02f5f5c2a
refactor: introduce InvalidDateFormatException for DatesHelper 2026-08-17 09:43:34 +02:00
2b7a8b4b99
test(arch): add architecture test suite for Shared layer 2026-08-17 09:43:02 +02:00
13091c4ec6
build: require php ^8.5 and remove league/uri dependency 2026-08-17 09:32:49 +02:00
ac552a4530
refactor: adopt native PHP 8.5 \Uri\Rfc3986\Uri for request URIs and pagination links 2026-08-17 09:30:21 +02:00
7c0edb9507
test(arch): forbid Symfony framework and Laravel helpers in Application layer 2026-08-17 09:22:18 +02:00
b0cd8d25a3
test(ApiV1Middlewares): add feature tests for middlewares behavior
Includes tests for ETag handling and content negotiation.
2026-08-14 16:47:58 +02:00
8f82f86966
refactor(application): unify filter and sorter VOs between Application and Domain layers 2026-08-14 16:28:44 +02:00
2900c85b33
test(IncoSheets): add test for PaginatedShortIncoSheet instantiation
Added a test to verify the correct instantiation of PaginatedShortIncoSheet
from the IncoShortSheet domain entity.
2026-08-14 16:26:08 +02:00
bfe0b0010c
feat(IncoSheets): introduce IncoShortSheet entity and IncoShortSheetDirectory with SQL select optimization and search pagination 2026-08-14 16:15:49 +02:00
cce81c1a85
style: apply code formatting and docblock fixes 2026-08-14 16:01:34 +02:00
7383c3e01f
test(IncoSheets): update tests for short form inco sheets response
Enhance tests to verify the structure of inco sheets when the short parameter is true or numeric 1.
2026-08-14 15:57:58 +02:00
91114cb67b
feat(inco-compositions): add IncoCompositionShow feature
- Implemented IncoCompositionShowController to handle requests for inco composition details.
- Created IncoCompositionDto for response data structure.
- Added IncoCompositionShowRequest for request validation.
- Developed IncoCompositionShowResponse for formatting API responses.
- Introduced IncoCompositionShowPresenter and IncoCompositionShowView for presentation logic.
- Added tests for IncoCompositionShow feature and OpenAPI conformance.
2026-08-14 15:56:58 +02:00
f667532ff7
refactor(domain): regroup Inco entities and Value Objects under Inco/ and Inco/Composition/ 2026-08-14 15:38:10 +02:00
4d24e5c3fa
feat(IncoSheets): add search functionality for inco sheets
- Introduced IncoIdQuery value object for validating search queries.
- Implemented search method in IncoSheetDirectory and EloquentIncoSheetDirectory.
- Created IncoSheetsSearchController to handle search requests.
- Added IncoSheetsSearchRequest for validating incoming search parameters.
- Developed IncoSheetsSearchResponse for formatting search results.
- Added tests for search functionality in IncoSheetsSearchTest.
- Updated OpenAPI tests to validate search endpoint.
2026-08-14 15:06:54 +02:00
70375f8139
feat(dto): implement PaginationDto for pagination metadata
Added PaginationDto to handle pagination details and links for API responses.
Updated related response classes to utilize the new PaginationDto.
2026-08-14 12:02:13 +02:00
753456368c
style: format code for consistency and readability
Refactor code formatting for improved consistency across multiple files.
2026-08-14 11:50:26 +02:00
bbbeea6cde
test(architecture): update Application and Domain tests for readonly checks
Refactor tests to utilize enumsIn function for better maintainability.
2026-08-14 11:33:29 +02:00
152ee2b5a2
feat(api): add IncoSheets feature with DDD clean architecture, tests & OpenAPI spec
- Use cases: FindAllIncoSheets & FindIncoSheet (filters, pagination, short projection)
- Presentation: controllers, FormRequests with scalar validation, DTOs (camelCase)
- Ports & Adapters: IncoSheetDirectory & EloquentIncoSheetDirectory
- Tests: Pest 4 unit, integration, OpenAPI spectator conformance, dynamic arch tests
- Docs: updated Bruno collection and OpenAPI spec
2026-08-14 11:33:05 +02:00
11291807a3
test(architecture): add tests for naming conventions and seeder integration
Ensures that all database seeders have corresponding integration tests
and verifies naming conventions across different layers of the application.
2026-08-14 10:36:26 +02:00
1d55dff5f4
feat(seeders): add IncoSheet and IncoCompo seeders
Implement seeders for IncoSheet and IncoCompo to populate the database with initial data.
2026-08-14 10:35:21 +02:00
3080c5dcfe
test(employees): add feature tests for employee retrieval and filtering
- Implement tests for employee show and index endpoints.
- Validate responses against OpenAPI specifications.
2026-08-14 09:59:24 +02:00
53b0dd9f1e
feat(employees): implement filtering and sorting for employee retrieval
Added Filter and Sorter classes to handle employee filtering and sorting criteria. Updated FindAllEmployees use case to utilize these new classes for improved employee data retrieval.
2026-08-14 09:30:21 +02:00
6ba04fe009
feat(exceptions): add NotFoundException for entity handling
Introduces a NotFoundException to standardize error handling for missing entities.
2026-08-13 16:24:08 +02:00
58749030bf
feat(employees): add support for filtering by multiple site IDs
- Updated EmployeeFilter to accept an array of SiteId.
- Modified EloquentEmployeeDirectory to handle multiple site filters.
- Enhanced EmployeesIndexRequest to validate siteIds as an array.
- Added tests for siteIds filtering in EmployeesIndexTest and EmployeeOpenApiTest.
2026-08-13 15:30:53 +02:00
b64c1ef366
feat(employees): add filtering capabilities for employee retrieval
- Introduced EmployeeFilter value object for filtering criteria.
- Updated EmployeeDirectory and EloquentEmployeeDirectory to support filtering.
- Modified FindAllEmployees use case to accept filter input.
- Enhanced EmployeesIndexRequest to handle filter parameters.
- Added tests for filtering functionality in EmployeesIndexTest and EloquentEmployeeDirectoryTest.
2026-08-13 15:09:37 +02:00
b7f2de4f92
test(EloquentEmployeeDirectory): add integration tests for employee retrieval and date conversion
Includes tests for finding employees, handling null values, and date conversion.
2026-08-13 14:59:21 +02:00
05ececd879
feat(RequestHelper): add pagination and URI conversion methods
Implement pagination logic and methods to convert request URLs to League URI instances.
2026-08-13 14:52:51 +02:00
6d77bc6332
test(DatesHelper): update date parsing logic and add fallback tests
Enhance date parsing in DatesHelper to correctly handle RFC3339 format.
Add tests for fallback scenarios with DateTimeImmutable.
2026-08-13 13:24:33 +02:00
e8d92e771a
test(UuidHelper): enhance UUID version checks and add fallback test 2026-08-13 13:24:21 +02:00
dea8599b1e
test(UuidHelper): update UUID version checks and remove mocks
Refactor tests to directly use UUID instances instead of mocks.
2026-08-13 13:12:30 +02:00
8afc31c806
test(DatesHelper): update date regex and add instantiation test
- Fixed regex for inverted French date format.
- Added test to prevent direct instantiation of DatesHelper.
2026-08-13 13:11:55 +02:00
aaa39004bc
test(Pagination): add unit tests for Pagination value object
- Added tests for creating Pagination from explicit indexes.
- Updated tests for invalid constructor inputs and parameters.
2026-08-13 13:07:16 +02:00
289140c630
refactor(DatesHelper): make constructor private and update comment
Updated the constructor of DatesHelper to be private and modified the comment to clarify its purpose as a static class.
2026-08-13 13:07:03 +02:00
d15f30bcbf
test(UuidHelper): update unit tests for UUID version checks
Refactor test descriptions for clarity and consistency.
2026-08-13 13:06:01 +02:00
ab031e8d76
test(CodingStandards): refactor test file retrieval logic
Updated test file retrieval to use a dedicated function for improved clarity and maintainability.
2026-08-13 12:58:29 +02:00
39d394b7fb
test(Employee): add feature tests for employee endpoints
- Implement tests for retrieving employee details and listing employees.
- Validate responses against OpenAPI specifications.
2026-08-13 12:55:38 +02:00
3daeaccb4e
test(RootTest): add test for successful response on root URL
This test verifies that the root URL returns a 200 status code.
2026-08-13 12:49:33 +02:00
cc7a629193
test(UsecaseBuilder): add unit tests for UsecaseBuilder functionality
This commit introduces unit tests for the UsecaseBuilder and UsecaseExecutionBuilder, ensuring proper behavior when building and executing use cases.
2026-08-13 12:47:39 +02:00
ccba793b4c
test(EntityId): add unit tests for EntityId instantiation
Includes tests for valid UUID and handling of empty string.
2026-08-13 12:47:18 +02:00
52d0e6f0fd
test(ApiExceptionDispatcher): add integration tests for exception handling
Added integration tests for ApiExceptionDispatcher to ensure proper handling of exceptions
for various API request scenarios, including JSON acceptance and unversioned requests.
2026-08-13 12:34:44 +02:00
8e96abc88d
fix(ApiExceptionRenderer): update response for ValidationException
Changed the response status and title for ValidationException from 400 to 422 to align with HTTP standards.
2026-08-13 12:34:32 +02:00
985fcedb04
test(WebExceptionRenderer): add tests for rendering exceptions
Add tests to verify the behavior of WebExceptionRenderer for NotFoundException and unhandled exceptions.
2026-08-13 12:18:22 +02:00
3ba74409ff
test(ValueObjects): add unit tests for BrandCode, EstablishmentCode, IncoCompoId, IncoId, ServiceId, and SiteId value objects
Add comprehensive unit tests to validate the behavior of various value objects.
2026-08-13 12:10:53 +02:00
742476bdcb
test(ArcadiaEmployeeId): add covers declaration for tests 2026-08-13 12:03:16 +02:00
90d7bfdf37
test(Employee): add unit tests for Employee entity 2026-08-13 12:03:09 +02:00
31b83970b5
test: remove ExampleTest.php as it is no longer needed
This test file was deleted to clean up the test suite.
2026-08-13 12:02:49 +02:00
41dbb04963
test(Architecture): ensure all Unit and Integration tests declare covers()
Added a test to verify that every Unit and Integration test file contains a covers() declaration.
2026-08-13 12:02:43 +02:00