Fixed tests

This commit is contained in:
Jan Böhmer 2026-02-22 19:35:59 +01:00
parent b1b66e8b4f
commit 68bcc391e3
2 changed files with 7 additions and 81 deletions

View file

@ -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']);
}
}

View file

@ -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));
}
}