Skip to content

Commit 85505f7

Browse files
authored
Merge pull request #20 from kenjis/fix-type-errors
fix: TypeError in QueueJobModel and RedisHandlerTest
2 parents 3f04fa3 + 913c571 commit 85505f7

2 files changed

Lines changed: 31 additions & 10 deletions

File tree

src/Models/QueueJobModel.php

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
<?php
22

3+
declare(strict_types=1);
4+
35
namespace CodeIgniter\Queue\Models;
46

57
use CodeIgniter\Database\BaseBuilder;
6-
use CodeIgniter\Database\RawSql;
78
use CodeIgniter\I18n\Time;
89
use CodeIgniter\Model;
910
use CodeIgniter\Queue\Entities\QueueJob;
@@ -102,9 +103,27 @@ private function setPriority(BaseBuilder $builder, array $priority): BaseBuilder
102103

103104
if ($priority !== ['default']) {
104105
if ($this->db->DBDriver === 'SQLite3') {
105-
$builder->orderBy(new RawSql('CASE priority ' . implode(' ', array_map(static fn ($value, $key) => "WHEN '{$value}' THEN {$key}", $priority, array_keys($priority))) . ' END'));
106+
$builder->orderBy(
107+
'CASE priority '
108+
. implode(
109+
' ',
110+
array_map(static fn ($value, $key) => "WHEN '{$value}' THEN {$key}", $priority, array_keys($priority))
111+
)
112+
. ' END',
113+
'',
114+
false
115+
);
106116
} else {
107-
$builder->orderBy(new RawSql('FIELD(priority, ' . implode(',', array_map(static fn ($value) => "'{$value}'", $priority)) . ')'));
117+
$builder->orderBy(
118+
'FIELD(priority, '
119+
. implode(
120+
',',
121+
array_map(static fn ($value) => "'{$value}'", $priority)
122+
)
123+
. ')',
124+
'',
125+
false
126+
);
108127
}
109128
}
110129

tests/RedisHandlerTest.php

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
<?php
22

3+
declare(strict_types=1);
4+
35
namespace Tests;
46

57
use CodeIgniter\I18n\Time;
@@ -112,7 +114,7 @@ public function testPop()
112114
$redis = self::getPrivateProperty($handler, 'redis');
113115
$this->assertSame(1_234_567_890_654_321, $result->id);
114116
$this->assertSame(0, $redis->zCard('queues:queue1:default'));
115-
$this->assertTrue($redis->hExists('queues:queue1::reserved', $result->id));
117+
$this->assertTrue($redis->hExists('queues:queue1::reserved', (string) $result->id));
116118
}
117119

118120
public function testPopEmpty()
@@ -129,13 +131,13 @@ public function testLater()
129131
$queueJob = $handler->pop('queue1', ['default']);
130132

131133
$redis = self::getPrivateProperty($handler, 'redis');
132-
$this->assertTrue($redis->hExists('queues:queue1::reserved', $queueJob->id));
134+
$this->assertTrue($redis->hExists('queues:queue1::reserved', (string) $queueJob->id));
133135
$this->assertSame(0, $redis->zCard('queues:queue1:default'));
134136

135137
$result = $handler->later($queueJob, 60);
136138

137139
$this->assertTrue($result);
138-
$this->assertFalse($redis->hExists('queues:queue1::reserved', $queueJob->id));
140+
$this->assertFalse($redis->hExists('queues:queue1::reserved', (string) $queueJob->id));
139141
$this->assertSame(1, $redis->zCard('queues:queue1:default'));
140142
}
141143

@@ -150,7 +152,7 @@ public function testFailedAndKeepJob()
150152
$redis = self::getPrivateProperty($handler, 'redis');
151153

152154
$this->assertTrue($result);
153-
$this->assertFalse($redis->hExists('queues:queue1::reserved', $queueJob->id));
155+
$this->assertFalse($redis->hExists('queues:queue1::reserved', (string) $queueJob->id));
154156
$this->assertSame(0, $redis->zCard('queues:queue1:default'));
155157

156158
$this->seeInDatabase('queue_jobs_failed', [
@@ -171,7 +173,7 @@ public function testFailedAndDontKeepJob()
171173
$redis = self::getPrivateProperty($handler, 'redis');
172174

173175
$this->assertTrue($result);
174-
$this->assertFalse($redis->hExists('queues:queue1::reserved', $queueJob->id));
176+
$this->assertFalse($redis->hExists('queues:queue1::reserved', (string) $queueJob->id));
175177
$this->assertSame(0, $redis->zCard('queues:queue1:default'));
176178

177179
$this->dontSeeInDatabase('queue_jobs_failed', [
@@ -191,7 +193,7 @@ public function testDoneAndKeepJob()
191193
$redis = self::getPrivateProperty($handler, 'redis');
192194

193195
$this->assertTrue($result);
194-
$this->assertFalse($redis->hExists('queues:queue1::reserved', $queueJob->id));
196+
$this->assertFalse($redis->hExists('queues:queue1::reserved', (string) $queueJob->id));
195197
$this->assertSame(1, $redis->lLen('queues:queue1::done'));
196198
}
197199

@@ -206,7 +208,7 @@ public function testDoneAndDontKeepJob()
206208
$result = $handler->done($queueJob, false);
207209

208210
$this->assertTrue($result);
209-
$this->assertFalse($redis->hExists('queues:queue1::reserved', $queueJob->id));
211+
$this->assertFalse($redis->hExists('queues:queue1::reserved', (string) $queueJob->id));
210212
$this->assertSame(0, $redis->lLen('queues:queue1::done'));
211213
}
212214

0 commit comments

Comments
 (0)