dolibarr/test/phpunit
Alexandre Janniaux c3b3840f08
QUAL Refactor merging companies and fix #26272 with Reception objects (#26320)
* societe: add missing model_pdf field

The field is used by the class but wasn't declared.

* societe: expose Societe::mergeCompany

The code is directly copied from societe/card.php with as less changes
as possible.

The original code came from deb91ad7c1.

* societe: remove fields from property copy

$phone_pro and $fk_project are not existing for societe. This was added
from deb91ad7c1.

* SocieteTest: test the merge functionality

This test is a simple smoke test to check that the mergeCompany() will
work correctly on simple case and actually merge the details of the
company.

More complex deduplication pattern with objects referencing the deleted
Societe object, will be written for each of the different object class
in their respective test file.

* societe: card: use the new mergeCompany function

Since the code is almost the same, there should be no differences in
behaviour right now.

* societe: api_thirdparties: use Societe::mergeCompany()

* societe: fix issue when merging companies

When a Societe object is merged against another, its related objects are
supposed to reference the new Societe object so that the databse doesn't
raise foreign key errors.

The list references the objects that need to be transformed, and
Reception objects weren't part of this list.

Fix #26272

* ReceptionTest: check company merge hook

Before a Societe object is destroyed from the database, every object
referencing the FK should be destroyed or should reference another
object.

In the case of two companies being merged, the case arises and Reception
objects need to be moved to the new company. This commit brings a
non-regression test for this case.

Refs #26272

* Update societe.class.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2023-10-26 16:30:38 +02:00
..
functional Fix warnings 2023-09-10 19:41:14 +02:00
AccountingAccountTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
ActionCommTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
AdherentTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
AdminLibTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
AllTests.php FIX|Fix some minor issues on Reception and add a new test for it (#26310) 2023-10-21 16:28:30 +02:00
AssetModelTest.php New asset model phpunit test 2023-09-25 14:54:32 +02:00
BankAccountTest.php Fix sql errors 2023-09-09 21:16:58 +02:00
BarcodeTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
BOMTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
BonPrelevementTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
BuildDocTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
CategorieTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
ChargeSocialesTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
CMailFileTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
CodingPhpTest.php Merge branch '17.0' of git@github.com:Dolibarr/dolibarr.git into 18.0 2023-08-27 16:02:57 +02:00
CodingSqlTest.php Fix phpunit 2023-10-20 03:59:02 +02:00
CommandeFournisseurTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
CommandeTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
CommonInvoiceTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
CommonObjectTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
CompanyBankAccountTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
CompanyLibTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
ContactTest.php Merge pull request #24621 from alexandre-janniaux/php-unit-assert-contains/1 2023-05-20 12:02:43 +02:00
ContratTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
CoreTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
DateLibTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
DateLibTzFranceTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
DiscountTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
DoliDBTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
EmailCollectorTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
EntrepotTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
EvalMathTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
Example_import_company_1.csv
ExpenseReportTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
ExportTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
FactureFournisseurTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
FactureRecTest.php Fix regressions 2023-08-06 01:41:53 +02:00
FactureTest.php Fix phpunit error 2023-10-17 15:48:38 +02:00
FactureTestRounding.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
FichinterTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
FilesLibTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
FormAdminTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
FormTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
Functions2LibTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
FunctionsLibTest.php Fix phpunit regression 2023-09-29 17:04:11 +02:00
GetUrlLibTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
HolidayTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
ImagesLibTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
imap_header.txt Add samples for imap functions test 2021-07-15 23:03:24 +02:00
imap_htmlmsg.txt Add samples for imap functions test 2021-07-15 23:03:24 +02:00
imap_plaintext.txt Add samples for imap functions test 2021-07-15 23:03:24 +02:00
img250x20.png
img250x50.jpg
imgsvgwithjs.svg Fix #yogosha4490 2020-09-18 03:07:13 +02:00
ImportTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
InventoryTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
JsonLibTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
KnowledgeRecordTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
LangTest.php Fix warnings 2023-09-10 19:41:14 +02:00
LesscTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
LoanTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
MarginsLibTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
ModulesTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
MouvementStockTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
NumberingModulesTest.php Fix phpunit 2023-08-12 01:08:04 +02:00
ODFTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
PaypalTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
PdfDocTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
pdfwithjs.pdf Add pdf with js 2023-06-04 19:46:44 +02:00
PgsqlTest.php Fix phpunit 2023-08-04 17:26:38 +02:00
phpunit.dtd
phpunittest.xml Try a fix of phpunit regression 2022-12-21 23:34:32 +01:00
PricesTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
ProductTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
ProjectTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
PropalTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
ReceptionTest.php QUAL Refactor merging companies and fix #26272 with Reception objects (#26320) 2023-10-26 16:30:38 +02:00
RepositoryTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
RestAPIContactTest.php Fix warnings 2023-08-26 00:43:51 +02:00
RestAPIDocumentTest.php Fix warnings 2023-08-26 00:43:51 +02:00
RestAPIUserTest.php Fix warnings 2023-08-26 00:43:51 +02:00
ScriptsTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
SecurityTest.php Fix warnings 2023-09-10 15:23:32 +02:00
SocieteTest.php QUAL Refactor merging companies and fix #26272 with Reception objects (#26320) 2023-10-26 16:30:38 +02:00
StripeTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
SupplierProposalTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
TargetTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
testemailing.txt
testvirus.txt Make virus file no more detected. 2022-01-23 12:59:15 +01:00
textiso.txt
textutf8.txt
TicketTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
UserGroupTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
UserTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
UtilsTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
WebservicesInvoicesTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
WebservicesOrdersTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
WebservicesOtherTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
WebservicesProductsTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
WebservicesThirdpartyTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
WebservicesUserTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00
WebsiteTest.php FIX #CVE-2023-4197 2023-09-05 00:49:01 +02:00
XCalLibTest.php Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into 2023-05-17 12:27:46 +02:00