Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ShipmentItemRepositoryInterfaceTest.php
Go to the documentation of this file.
1 <?php
6 namespace Magento\Sales\Api;
7 
14 
15 class ShipmentItemRepositoryInterfaceTest extends \PHPUnit\Framework\TestCase
16 {
20  private $repository;
21 
22  protected function setUp()
23  {
24  $this->repository = Bootstrap::getObjectManager()->create(ShipmentItemRepositoryInterface::class);
25  }
26 
30  public function testGetList()
31  {
33  $filterBuilder = Bootstrap::getObjectManager()->create(FilterBuilder::class);
34 
35  $filter1 = $filterBuilder->setField(ShipmentItemInterface::NAME)
36  ->setValue('item 2')
37  ->create();
38  $filter2 = $filterBuilder->setField(ShipmentItemInterface::NAME)
39  ->setValue('item 3')
40  ->create();
41  $filter3 = $filterBuilder->setField(ShipmentItemInterface::NAME)
42  ->setValue('item 4')
43  ->create();
44  $filter4 = $filterBuilder->setField(ShipmentItemInterface::NAME)
45  ->setValue('item 5')
46  ->create();
47  $filter5 = $filterBuilder->setField(ShipmentItemInterface::PRICE)
48  ->setValue(45)
49  ->setConditionType('lt')
50  ->create();
51 
53  $sortOrderBuilder = Bootstrap::getObjectManager()->create(SortOrderBuilder::class);
54 
56  $sortOrder = $sortOrderBuilder->setField(ShipmentItemInterface::NAME)
57  ->setDirection(SortOrder::SORT_DESC)
58  ->create();
59 
61  $searchCriteriaBuilder = Bootstrap::getObjectManager()->create(SearchCriteriaBuilder::class);
62 
63  $searchCriteriaBuilder->addFilters([$filter1, $filter2, $filter3, $filter4]);
64  $searchCriteriaBuilder->addFilters([$filter5]);
65  $searchCriteriaBuilder->setSortOrders([$sortOrder]);
66 
67  $searchCriteriaBuilder->setPageSize(2);
68  $searchCriteriaBuilder->setCurrentPage(2);
69 
71 
72  $searchResult = $this->repository->getList($searchCriteria);
73 
74  $items = array_values($searchResult->getItems());
75  $this->assertEquals(1, count($items));
76  $this->assertEquals('item 2', $items[0][ShipmentItemInterface::NAME]);
77  }
78 }
$searchCriteria
$searchCriteriaBuilder
$items