getMockBuilder(EntityManagerInterface::class)->disableOriginalConstructor()->getMock(); $this->dateTimeFilter = new DateTimeFilter($em); } /** * @see DateTimeFilter::constructQuery() */ public function testConstructQuery():void { $queryExpected = "(o.startDate <= '2021-12-20') AND (o.endDate > '2021-12-20' OR o.endDate IS NULL)"; $this->assertEquals($queryExpected, $this->invokeMethod($this->dateTimeFilter, 'constructQuery', [ [ 'start' => [ '2021-12-20' => [4] ], 'end' => [ '2021-12-20' => [5], 'NULL' => [0] ] ], 'o', [ 'start' => 'startDate', 'end' => 'endDate' ] ])); $queryExpected = "(o.startDate < '2021-12-20' OR o.startDate > '2021-12-30') AND (o.endDate < '2022-01-20')"; $this->assertEquals($queryExpected, $this->invokeMethod($this->dateTimeFilter, 'constructQuery', [ [ 'start' => [ '2021-12-20' => [1], '2021-12-30' => [5] ], 'end' => [ '2022-01-20' => [1] ] ], 'o', [ 'start' => 'startDate', 'end' => 'endDate' ] ])); } /** * @see DateTimeFilter::getArithmeticValue() */ public function testGetArithmeticValue():void { $this->assertEquals('<', $this->invokeMethod($this->dateTimeFilter, 'getArithmeticValue', [1])); $this->assertEquals('<=', $this->invokeMethod($this->dateTimeFilter, 'getArithmeticValue', [4])); $this->assertEquals('=', $this->invokeMethod($this->dateTimeFilter, 'getArithmeticValue', [3])); $this->assertEquals('>=', $this->invokeMethod($this->dateTimeFilter, 'getArithmeticValue', [8])); $this->assertEquals('>', $this->invokeMethod($this->dateTimeFilter, 'getArithmeticValue', [5])); $this->assertEquals(null, $this->invokeMethod($this->dateTimeFilter, 'getArithmeticValue', [0])); } }