instance('siteData', ['role' => 'superadmin', 'cpid' => 0]); $service = new PointsStatsService(); $method = new \ReflectionMethod($service, 'buildStatsQuery'); $method->setAccessible(true); [$query] = $method->invoke($service, $params, $groupBy); return $query; } public function testNicknameParamAddsNicknameAndAccountLikeConditions() { $query = $this->buildQuery(['nickname' => 'Fenzu5']); $sql = $query->toSql(); $this->assertStringContainsString('`u`.`nickname` like ?', $sql); $this->assertStringContainsString('`u`.`account` like ?', $sql); $this->assertContains('%Fenzu5%', $query->getBindings()); } public function testEmptyNicknameParamDoesNotAddLikeConditions() { $query = $this->buildQuery(['nickname' => '']); $sql = $query->toSql(); $this->assertStringNotContainsString('`u`.`nickname` like ?', $sql); $this->assertStringNotContainsString('`u`.`account` like ?', $sql); } }