- Convert hardcoded strings and French translation keys to English keys across Blade templates, Vue components, TypeScript modules, models, and routes
- Complete and synchronize lang/fr.json and lang/en.json translation dictionaries
- Add timezone attribute in lang/fr/validation.php and lang/en/validation.php
- Add missing English lang files for parity: crud.php, models.php, search.php, and vue.php
test(casts): add tests for ShopperEstablishmentCodeCast functionality
test(casts): add tests for ShopperServiceCodeCast functionality
test(casts): add tests for ShopperSiteCodeCast functionality
test(dto): update ProductDtoTest to include additional fields
test(dto): update SettingDtoTest to remove arcadiaSites assertions
test(events): update AnOrderHasBeenPlacedTest to use value objects
test(entities): update OrderTest to use value objects for employee details
test(value-objects): update EmployeeUpsertDataTest to use value objects
test(pagination): update PaginationTest to access value properties
test(services): update AppCustomerAuthServiceTest to use CrmHashcode
test(services): update CrmServiceTest to use CrmHashcode for customer retrieval
- Implement automated synchronization of employees via Arcadia API (EmployeeSyncService, SynchronizeEmployeesWithArcadiaApi, FetchAndUpsertArcadiaEmployees)
- Add Back-Office application settings for employee sites (Setting singleton, GetSettingsQuery, UpdateSettings, SettingsController, EmployeeSitesInputComponent.vue)
- Strongly type Employee attributes using Domain Value Objects (ShopperEstablishmentCode, ShopperSiteCode, ShopperServiceCode) and Eloquent Casts
- Migrate pagination from Domain to Shared\Pagination namespace across queries and inputs
- Remove legacy and dead CSV employee import/export code
- Restore Domain\Ports\Services\CsvGenerator interface for Regate order generation
- Add comprehensive Pest unit, integration, and feature test coverage
- Added UnsubscribeFromNewsletter action and input/output classes.
- Introduced CrmHashcode value object and its cast.
- Updated NewsletterController to use the new unsubscribe action.
- Enhanced validation in UnsubscribeNewsletterRequest.
- Updated DataTableService to accept a Pagination object for pagination parameters.
- Refactored paginateQuery method to utilize pageSize and pageNumber from Pagination.
refactor: replace ActionExecutor with Executor in controller traits
- Updated ChangesModelOrder, TogglesModelStar, and TogglesModelStatus traits to use Executor interface instead of ActionExecutor.
feat: add PictureMetadata and Slug value objects
- Introduced PictureMetadata for managing image metadata with validation.
- Added Slug value object for slug generation and validation.
feat: update breadcrumbs to support RangeDto
- Modified breadcrumbs-bo.php to accept RangeDto in the edit route.
test: add tests for RangesController
- Added tests for accessing, creating, updating, and deleting ranges.
- Included tests for toggling range status.
test: add integration tests for range actions
- Created tests for CreateRange, DeleteRange, and UpdateRange actions.
- Validated input handling and database interactions.
test: add unit tests for range input classes
- Implemented tests for CreateRangeInput and UpdateRangeInput to validate input constraints.
test: add unit tests for value objects
- Added tests for PictureMetadata and Slug to ensure proper validation and instantiation.
test: add unit tests for RangeDto
- Created tests to verify RangeDto mapping from Range model.
test: add unit tests for RangePolicy
- Implemented tests for RangePolicy to validate permissions based on user roles.