Skip to content

Commit 3ed27f6

Browse files
authored
/api/part_lots: add user_barcode filter (#1280)
* /api/part_lots: add user_barcode filter * support LIKE filtering for part lot user_barcode
1 parent 0d58262 commit 3ed27f6

2 files changed

Lines changed: 27 additions & 1 deletion

File tree

src/Entity/Parts/PartLot.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181
denormalizationContext: ['groups' => ['part_lot:write', 'api:basic:write'], 'openapi_definition_name' => 'Write'],
8282
)]
8383
#[ApiFilter(PropertyFilter::class)]
84-
#[ApiFilter(LikeFilter::class, properties: ["description", "comment"])]
84+
#[ApiFilter(LikeFilter::class, properties: ["description", "comment", "user_barcode"])]
8585
#[ApiFilter(DateFilter::class, strategy: DateFilterInterface::EXCLUDE_NULL)]
8686
#[ApiFilter(BooleanFilter::class, properties: ['instock_unknown', 'needs_refill'])]
8787
#[ApiFilter(RangeFilter::class, properties: ['amount'])]

tests/API/Endpoints/PartLotsEndpointTest.php

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,32 @@ public function testGetItem(): void
4747
$this->_testGetItem(2);
4848
}
4949

50+
public function testFilterByUserBarcode(): void
51+
{
52+
$response = self::createAuthenticatedClient()->request('GET', '/api/part_lots?user_barcode=lot2_vendor_barcode');
53+
54+
self::assertResponseIsSuccessful();
55+
self::assertJsonContains([
56+
'hydra:totalItems' => 1,
57+
]);
58+
59+
$json = $response->toArray();
60+
self::assertSame('/api/part_lots/2', $json['hydra:member'][0]['@id']);
61+
}
62+
63+
public function testFilterByUserBarcodeUsingWildcard(): void
64+
{
65+
$response = self::createAuthenticatedClient()->request('GET', '/api/part_lots?user_barcode=lot2_%');
66+
67+
self::assertResponseIsSuccessful();
68+
self::assertJsonContains([
69+
'hydra:totalItems' => 1,
70+
]);
71+
72+
$json = $response->toArray();
73+
self::assertSame('/api/part_lots/2', $json['hydra:member'][0]['@id']);
74+
}
75+
5076
public function testCreateItem(): void
5177
{
5278
$this->_testPostItem([

0 commit comments

Comments
 (0)