- Implemented `evaluateProformaCustomerChange` function to assess changes in customer details for proforma invoices. - Introduced types for customer change details, blockers, field differences, and fiscal targets. - Added utility functions for normalizing text and formatting recipient information. test: add unit tests for customer payment resolver - Created tests for `CustomerPaymentResolver` to validate payment term retrieval and handling of inactive terms. - Ensured proper behavior when clearing payment terms and handling non-existent terms. test: add unit tests for customer default payment term resolver - Developed tests for `CustomerDefaultPaymentTermResolver` to verify default payment term resolution logic. - Included scenarios for creating customers with and without explicit payment term IDs. feat: implement customer default payment term resolver - Created `CustomerDefaultPaymentTermResolver` to manage default payment term resolution during customer creation. - Integrated with company finder and payment resolver services. test: add unit tests for create customer use case - Implemented tests for `CreateCustomerUseCase` to ensure correct handling of payment term IDs during customer creation. - Validated behavior when no explicit payment term ID is provided. test: add unit tests for update customer use case - Developed tests for `UpdateCustomerUseCase` to verify payment term handling during customer updates. - Ensured that inactive payment terms are not assigned and that explicit null values are respected. feat: add dependency injection for customer company services - Implemented DI for customer company dependencies to facilitate service resolution. test: add tests for customer create data utility - Created tests for `buildCustomerCreateData` to validate payment term handling based on user input.
25 lines
962 B
SQL
25 lines
962 B
SQL
-- DDL incremental para introducir el plazo de pago por defecto de Company.
|
|
-- Mantiene la referencia como valor vivo y evita forzar FKs cross-module.
|
|
-- Ejecutar solo en una BD de desarrollo segura o mediante procedimiento controlado.
|
|
-- No ejecutar automaticamente en produccion.
|
|
|
|
ALTER TABLE companies
|
|
ADD COLUMN default_payment_term_id CHAR(36) NULL AFTER website;
|
|
|
|
ALTER TABLE companies
|
|
ADD KEY idx_companies_default_payment_term (default_payment_term_id);
|
|
|
|
-- Validacion minima posterior a la DDL.
|
|
-- SELECT column_name
|
|
-- FROM information_schema.columns
|
|
-- WHERE table_schema = DATABASE()
|
|
-- AND table_name = 'companies'
|
|
-- AND column_name = 'default_payment_term_id';
|
|
--
|
|
-- SELECT index_name, GROUP_CONCAT(column_name ORDER BY seq_in_index) AS indexed_columns
|
|
-- FROM information_schema.statistics
|
|
-- WHERE table_schema = DATABASE()
|
|
-- AND table_name = 'companies'
|
|
-- AND index_name = 'idx_companies_default_payment_term'
|
|
-- GROUP BY index_name;
|