mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2026-05-20 10:21:32 +00:00
/api/part_lots: add user_barcode filter
This commit is contained in:
parent
32a666f6c3
commit
5a6b270525
2 changed files with 15 additions and 0 deletions
|
|
@ -27,6 +27,7 @@ use ApiPlatform\Doctrine\Orm\Filter\BooleanFilter;
|
||||||
use ApiPlatform\Doctrine\Orm\Filter\DateFilter;
|
use ApiPlatform\Doctrine\Orm\Filter\DateFilter;
|
||||||
use ApiPlatform\Doctrine\Orm\Filter\OrderFilter;
|
use ApiPlatform\Doctrine\Orm\Filter\OrderFilter;
|
||||||
use ApiPlatform\Doctrine\Orm\Filter\RangeFilter;
|
use ApiPlatform\Doctrine\Orm\Filter\RangeFilter;
|
||||||
|
use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;
|
||||||
use ApiPlatform\Metadata\ApiFilter;
|
use ApiPlatform\Metadata\ApiFilter;
|
||||||
use ApiPlatform\Metadata\ApiProperty;
|
use ApiPlatform\Metadata\ApiProperty;
|
||||||
use ApiPlatform\Metadata\ApiResource;
|
use ApiPlatform\Metadata\ApiResource;
|
||||||
|
|
@ -85,6 +86,7 @@ use Symfony\Component\Validator\Context\ExecutionContextInterface;
|
||||||
#[ApiFilter(DateFilter::class, strategy: DateFilterInterface::EXCLUDE_NULL)]
|
#[ApiFilter(DateFilter::class, strategy: DateFilterInterface::EXCLUDE_NULL)]
|
||||||
#[ApiFilter(BooleanFilter::class, properties: ['instock_unknown', 'needs_refill'])]
|
#[ApiFilter(BooleanFilter::class, properties: ['instock_unknown', 'needs_refill'])]
|
||||||
#[ApiFilter(RangeFilter::class, properties: ['amount'])]
|
#[ApiFilter(RangeFilter::class, properties: ['amount'])]
|
||||||
|
#[ApiFilter(SearchFilter::class, properties: ['user_barcode' => 'exact'])]
|
||||||
#[ApiFilter(OrderFilter::class, properties: ['description', 'comment', 'addedDate', 'lastModified'])]
|
#[ApiFilter(OrderFilter::class, properties: ['description', 'comment', 'addedDate', 'lastModified'])]
|
||||||
class PartLot extends AbstractDBElement implements TimeStampableInterface, NamedElementInterface
|
class PartLot extends AbstractDBElement implements TimeStampableInterface, NamedElementInterface
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,19 @@ final class PartLotsEndpointTest extends CrudEndpointTestCase
|
||||||
$this->_testGetItem(2);
|
$this->_testGetItem(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testFilterByUserBarcode(): void
|
||||||
|
{
|
||||||
|
$response = self::createAuthenticatedClient()->request('GET', '/api/part_lots?user_barcode=lot2_vendor_barcode');
|
||||||
|
|
||||||
|
self::assertResponseIsSuccessful();
|
||||||
|
self::assertJsonContains([
|
||||||
|
'hydra:totalItems' => 1,
|
||||||
|
]);
|
||||||
|
|
||||||
|
$json = $response->toArray();
|
||||||
|
self::assertSame('/api/part_lots/2', $json['hydra:member'][0]['@id']);
|
||||||
|
}
|
||||||
|
|
||||||
public function testCreateItem(): void
|
public function testCreateItem(): void
|
||||||
{
|
{
|
||||||
$this->_testPostItem([
|
$this->_testPostItem([
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue