Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
CaseRepositoryTest.php
Go to the documentation of this file.
1 <?php
6 namespace Magento\Signifyd\Model;
7 
13 
17 class CaseRepositoryTest extends \PHPUnit\Framework\TestCase
18 {
22  private $objectManager;
23 
27  private $filterBuilder;
28 
32  private $searchCriteriaBuilder;
33 
37  private $repository;
38 
42  protected function setUp()
43  {
44  $this->objectManager = Bootstrap::getObjectManager();
45  $this->filterBuilder = $this->objectManager->get(FilterBuilder::class);
46  $this->searchCriteriaBuilder = $this->objectManager->get(SearchCriteriaBuilder::class);
47  $this->repository = $this->objectManager->get(CaseRepository::class);
48  }
49 
54  public function testDelete()
55  {
56  $filters = [
57  $this->filterBuilder->setField('case_id')
58  ->setValue(123)
59  ->create()
60  ];
61  $searchCriteria = $this->searchCriteriaBuilder->addFilters($filters)->create();
62  $cases = $this->repository->getList($searchCriteria)
63  ->getItems();
64 
65  $case = array_pop($cases);
66  $this->repository->delete($case);
67 
68  self::assertEmpty($this->repository->getList($searchCriteria)->getItems());
69  }
70 
75  public function testGetById()
76  {
77  $filters = [
78  $this->filterBuilder->setField('case_id')
79  ->setValue(123)
80  ->create()
81  ];
82  $searchCriteria = $this->searchCriteriaBuilder->addFilters($filters)->create();
83  $cases = $this->repository->getList($searchCriteria)
84  ->getItems();
85 
86  $case = array_pop($cases);
87 
88  $found = $this->repository->getById($case->getEntityId());
89 
90  self::assertNotEmpty($found->getEntityId());
91  self::assertEquals($case->getEntityId(), $found->getEntityId());
92  self::assertEquals($case->getOrderId(), $found->getOrderId());
93  }
94 
99  public function testGetListDateInterval()
100  {
101  $startDateInterval = [
102  $this->filterBuilder->setField('created_at')
103  ->setConditionType('gteq')
104  ->setValue('2016-12-01 00:00:01')
105  ->create()
106  ];
107  $endDateInterval = [
108  $this->filterBuilder->setField('created_at')
109  ->setConditionType('lteq')
110  ->setValue('2016-12-03 23:59:59')
111  ->create()
112  ];
113 
114  $this->searchCriteriaBuilder->addFilters($startDateInterval);
115  $searchCriteria = $this->searchCriteriaBuilder->addFilters($endDateInterval)->create();
116  $items = $this->repository->getList($searchCriteria)
117  ->getItems();
118 
119  self::assertCount(3, $items);
120 
121  for ($i = 1; $i < 4; $i ++) {
122  $current = array_shift($items);
123  self::assertEquals($i, $current->getCaseId());
124  }
125  }
126 
131  public function testGetListStatusProcessing()
132  {
133  $filters = [
134  $this->filterBuilder->setField('status')
136  ->create()
137  ];
138 
139  $searchCriteria = $this->searchCriteriaBuilder->addFilters($filters)->create();
140  $items = $this->repository->getList($searchCriteria)
141  ->getItems();
142 
143  self::assertCount(1, $items);
144 
145  $case = array_pop($items);
146  self::assertEquals(123, $case->getCaseId());
147  }
148 }
$case
$searchCriteria
$filters
Definition: uploader.phtml:11
$i
Definition: gallery.phtml:31
$items