|
@@ -1,45 +0,0 @@
|
|
|
-<?php
|
|
|
|
|
-
|
|
|
|
|
-namespace Tests\Unit;
|
|
|
|
|
-
|
|
|
|
|
-use App\Services\PointsStatsService;
|
|
|
|
|
-use Tests\TestCase;
|
|
|
|
|
-
|
|
|
|
|
-class PointsStatsServiceNicknameSearchTest extends TestCase
|
|
|
|
|
-{
|
|
|
|
|
- /**
|
|
|
|
|
- * 反射调用 buildStatsQuery,返回查询构建器。
|
|
|
|
|
- */
|
|
|
|
|
- private function buildQuery(array $params, array $groupBy = ['uid'])
|
|
|
|
|
- {
|
|
|
|
|
- app()->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);
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|