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