Skip to content

Commit 578ae05

Browse files
Merge pull request #73 from singlestore-labs/fixLaravel-10.30
Fix tests for Laravel 10.30
2 parents 1da7519 + c6c93ea commit 578ae05

File tree

1 file changed

+48
-12
lines changed

1 file changed

+48
-12
lines changed

tests/Hybrid/Json/JsonUpdateTest.php

Lines changed: 48 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace SingleStore\Laravel\Tests\Hybrid\Json;
44

5+
use Illuminate\Foundation\Application;
56
use Illuminate\Support\Facades\DB;
67
use SingleStore\Laravel\Tests\BaseTest;
78
use SingleStore\Laravel\Tests\Hybrid\HybridTestHelpers;
@@ -49,16 +50,29 @@ public function set_boolean_execution()
4950
/** @test */
5051
public function set_string_syntax()
5152
{
53+
if (! $this->runHybridIntegrations()) {
54+
return;
55+
}
56+
5257
[$logs] = DB::pretend(function ($database) {
5358
$database->table('test')->update([
5459
'data->value1' => 'foo',
5560
]);
5661
});
5762

58-
$this->assertEquals(
59-
"update `test` set data = JSON_SET_JSON(data, 'value1', ?)",
60-
$logs['query']
61-
);
63+
if (version_compare(Application::VERSION, '10.30.0', '>=')) {
64+
// Laravel version >= 10.30.0
65+
$this->assertEquals(
66+
"update `test` set data = JSON_SET_JSON(data, 'value1', '\\\"foo\\\"')",
67+
$logs['query']
68+
);
69+
} else {
70+
// Laravel version < 10.30.0
71+
$this->assertEquals(
72+
"update `test` set data = JSON_SET_JSON(data, 'value1', ?)",
73+
$logs['query']
74+
);
75+
}
6276

6377
$this->assertSame('"foo"', $logs['bindings'][0]);
6478
}
@@ -93,10 +107,19 @@ public function set_double_syntax()
93107
]);
94108
});
95109

96-
$this->assertEquals(
97-
"update `test` set data = JSON_SET_JSON(data, 'value1', ?)",
98-
$logs['query']
99-
);
110+
if (version_compare(Application::VERSION, '10.30.0', '>=')) {
111+
// Laravel version >= 10.30.0
112+
$this->assertEquals(
113+
"update `test` set data = JSON_SET_JSON(data, 'value1', 1.3)",
114+
$logs['query']
115+
);
116+
} else {
117+
// Laravel version < 10.30.0
118+
$this->assertEquals(
119+
"update `test` set data = JSON_SET_JSON(data, 'value1', ?)",
120+
$logs['query']
121+
);
122+
}
100123

101124
$this->assertSame(1.3, $logs['bindings'][0]);
102125
}
@@ -125,16 +148,29 @@ public function set_double_execution()
125148
/** @test */
126149
public function set_json_syntax()
127150
{
151+
if (! $this->runHybridIntegrations()) {
152+
return;
153+
}
154+
128155
[$logs] = DB::pretend(function ($database) {
129156
$database->table('test')->update([
130157
'data->value1' => ['foo' => 'bar'],
131158
]);
132159
});
133160

134-
$this->assertEquals(
135-
"update `test` set data = JSON_SET_JSON(data, 'value1', ?)",
136-
$logs['query']
137-
);
161+
if (version_compare(Application::VERSION, '10.30.0', '>=')) {
162+
// Laravel version >= 10.30.0
163+
$this->assertEquals(
164+
"update `test` set data = JSON_SET_JSON(data, 'value1', '{\\\"foo\\\":\\\"bar\\\"}')",
165+
$logs['query']
166+
);
167+
} else {
168+
// Laravel version < 10.30.0
169+
$this->assertEquals(
170+
"update `test` set data = JSON_SET_JSON(data, 'value1', ?)",
171+
$logs['query']
172+
);
173+
}
138174

139175
$this->assertSame('{"foo":"bar"}', $logs['bindings'][0]);
140176
}

0 commit comments

Comments
 (0)