diff --git a/tests/Controller/ScanControllerTest.php b/tests/Controller/ScanControllerTest.php index 64065878..b504cd29 100644 --- a/tests/Controller/ScanControllerTest.php +++ b/tests/Controller/ScanControllerTest.php @@ -51,59 +51,4 @@ final class ScanControllerTest extends WebTestCase $this->client->request('GET', '/scan/part/1'); $this->assertResponseRedirects('/en/part/1'); } - - public function testLookupReturnsFoundOnKnownPart(): void - { - $this->client->request('POST', '/en/scan/lookup', [ - 'input' => '0000001', - 'mode' => '', - 'info_mode' => 'true', - ]); - - $this->assertResponseIsSuccessful(); - - $data = json_decode((string) $this->client->getResponse()->getContent(), true, 512, JSON_THROW_ON_ERROR); - - $this->assertTrue($data['ok']); - $this->assertTrue($data['found']); - $this->assertSame('/en/part/1', $data['redirectUrl']); - $this->assertTrue($data['infoMode']); - $this->assertIsString($data['html']); - $this->assertNotSame('', trim($data['html'])); - } - - public function testLookupReturnsNotFoundOnUnknownPart(): void - { - $this->client->request('POST', '/en/scan/lookup', [ - // Use a valid LCSC barcode - 'input' => '{pbn:PICK2407080035,on:WM2407080118,pc:C365735,pm:ES8316,qty:12,mc:,cc:1,pdi:120044290,hp:null,wc:ZH}', - 'mode' => '', - 'info_mode' => 'true', - ]); - - $this->assertResponseIsSuccessful(); - - $data = json_decode((string)$this->client->getResponse()->getContent(), true, 512, JSON_THROW_ON_ERROR); - - $this->assertTrue($data['ok']); - $this->assertFalse($data['found']); - $this->assertSame(null, $data['redirectUrl']); - $this->assertTrue($data['infoMode']); - $this->assertIsString($data['html']); - $this->assertNotSame('', trim($data['html'])); - } - - public function testLookupReturnsFalseOnGarbageInput(): void - { - $this->client->request('POST', '/en/scan/lookup', [ - 'input' => 'not-a-real-barcode', - 'mode' => '', - 'info_mode' => 'false', - ]); - - $this->assertResponseIsSuccessful(); - - $data = json_decode((string) $this->client->getResponse()->getContent(), true, 512, JSON_THROW_ON_ERROR); - $this->assertFalse($data['ok']); - } } diff --git a/tests/Services/LabelSystem/BarcodeScanner/BarcodeScanResultHandlerTest.php b/tests/Services/LabelSystem/BarcodeScanner/BarcodeScanResultHandlerTest.php index 9bcc4091..e92ebd56 100644 --- a/tests/Services/LabelSystem/BarcodeScanner/BarcodeScanResultHandlerTest.php +++ b/tests/Services/LabelSystem/BarcodeScanner/BarcodeScanResultHandlerTest.php @@ -80,12 +80,13 @@ final class BarcodeScanResultHandlerTest extends KernelTestCase $this->assertSame($url, $this->service->getInfoURL($scanResult)); } - public function testGetRedirectEntityNotFount(): void + public function testGetRedirectEntityNotFound(): void { - $this->expectException(EntityNotFoundException::class); - //If we encounter an invalid lot, we must throw an exception - $this->service->getInfoURL(new LocalBarcodeScanResult(LabelSupportedElement::PART_LOT, + //If we encounter an invalid lot, we must get an null result + $url = $this->service->getInfoURL(new LocalBarcodeScanResult(LabelSupportedElement::PART_LOT, 12_345_678, BarcodeSourceType::INTERNAL)); + + $this->assertNull($url); } public function testGetRedirectURLThrowsOnUnknownScanType(): void @@ -101,19 +102,12 @@ final class BarcodeScanResultHandlerTest extends KernelTestCase $this->service->getInfoURL($unknown); } - public function testEIGPBarcodeWithoutSupplierPartNumberThrowsEntityNotFound(): void - { - $scan = new EIGP114BarcodeScanResult([]); - - $this->expectException(EntityNotFoundException::class); - $this->service->getInfoURL($scan); - } - public function testEIGPBarcodeResolvePartOrNullReturnsNullWhenNotFound(): void { $scan = new EIGP114BarcodeScanResult([]); $this->assertNull($this->service->resolvePart($scan)); + $this->assertNull($this->service->getInfoURL($scan)); } public function testLCSCBarcodeResolvePartOrNullReturnsNullWhenNotFound(): void @@ -124,19 +118,6 @@ final class BarcodeScanResultHandlerTest extends KernelTestCase ); $this->assertNull($this->service->resolvePart($scan)); - } - - - public function testLCSCBarcodeMissingPmThrowsEntityNotFound(): void - { - // pc present but no pm => getPartFromLCSC() will throw EntityNotFoundException - // because it falls back to PM when PC doesn't match anything. - $scan = new LCSCBarcodeScanResult( - fields: ['pc' => 'C0000000', 'pm' => ''], // pm becomes null via getPM() - rawInput: '{pc:C0000000,pm:}' - ); - - $this->expectException(EntityNotFoundException::class); - $this->service->getInfoURL($scan); + $this->assertNull($this->service->getInfoURL($scan)); } }