diff --git a/tests/Unit/LicenseTest.php b/tests/Unit/LicenseTest.php index df50839812..58b6003814 100644 --- a/tests/Unit/LicenseTest.php +++ b/tests/Unit/LicenseTest.php @@ -192,6 +192,76 @@ class LicenseTest extends TestCase $this->assertFalse($l->isValid()); } + + public function testPopDocs() + { + + $docs = [ + '8f47aa3c-9c51-4f4a-b45d-c275945d6284', + '2e6d7168-43b9-4f92-9c3a-b8d6f3e9c5a1', + 'f9c12d4b-6e8a-4d7f-b3c5-a2e9f8d1b7c4', + '7a3b5c9d-2e4f-4a6b-8c1d-9e7f5a3b2d4c', + '1d9e8f7c-6b5a-4c3d-2e1f-9a8b7c6d5e4f', + '4b8c2d6e-9f5a-3d7b-1c4e-8a2b9d7c6f5e', + '3e2d1c9b-8a7f-6d5e-4c3b-2d1e9f8a7b6c', + '5f4e3d2c-1b9a-8c7d-6e5f-4d3c2b1a9e8d', + '9d8c7b6a-5e4f-3d2c-1b9a-8c7d6e5f4d3c', + '6c5d4e3f-2b1a-9d8c-7e6f-5d4c3b2a1e9d', + ]; + + $processed_docs = [ + '8f47aa3c-9c51-4f4a-b45d-c275945d6284', + '2e6d7168-43b9-4f92-9c3a-b8d6f3e9c5a1', + 'f9c12d4b-6e8a-4d7f-b3c5-a2e9f8d1b7c4', + '7a3b5c9d-2e4f-4a6b-8c1d-9e7f5a3b2d4c', + '1d9e8f7c-6b5a-4c3d-2e1f-9a8b7c6d5e4f', + '4b8c2d6e-9f5a-3d7b-1c4e-8a2b9d7c6f5e', + '3e2d1c9b-8a7f-6d5e-4c3b-2d1e9f8a7b6c', + '5f4e3d2c-1b9a-8c7d-6e5f-4d3c2b1a9e8d', + '9d8c7b6a-5e4f-3d2c-1b9a-8c7d6e5f4d3c', + ]; + + $tes = [ + [ + 'legal_entity_id' => rand(1, 100), + 'company_key' => \Illuminate\Support\Str::random(32), + 'received_documents' => [] + ], + [ + 'legal_entity_id' => rand(1, 100), + 'company_key' => \Illuminate\Support\Str::random(32), + 'received_documents' => [] + ], + [ + 'legal_entity_id' => 50, + 'company_key' => 'abcd', + 'received_documents' => $docs + ] + ]; + + $l = $this->stubLicense($tes); + + $tax_entity = $l->findEntity('legal_entity_id', 50); + + $this->assertNotNull($tax_entity); + $this->assertEquals(50, $tax_entity->legal_entity_id); + $this->assertCount(10, $tax_entity->received_documents); + + $tax_entity->received_documents = array_values( + array_diff($tax_entity->received_documents, $processed_docs) + ); + + $l->updateEntity($tax_entity); + $l->refresh(); + + $tax_entity = $l->findEntity('legal_entity_id', 50); + + $this->assertEquals(50, $tax_entity->legal_entity_id); + $this->assertCount(1, $tax_entity->received_documents); + + $this->assertEquals('6c5d4e3f-2b1a-9d8c-7e6f-5d4c3b2a1e9d', $tax_entity->received_documents[0]); + + } }