Skip to content

Commit 5beef4c

Browse files
authored
Merge pull request #21 from codeigniter4/context-bug
DatabaseHandler: Enforce Context Updates
2 parents 7e6eb7e + e74a670 commit 5beef4c

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

src/Handlers/DatabaseHandler.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ public function set(string $class, string $property, $value = null, ?string $con
9999
$result = db_connect()->table($this->table)
100100
->where('class', $class)
101101
->where('key', $property)
102+
->where('context', $context)
102103
->update([
103104
'value' => $value,
104105
'type' => $type,

tests/SettingsTest.php

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,4 +258,40 @@ public function testForgetWithContext()
258258

259259
$this->assertSame('Bar', $settings->get('Test.siteName', 'category:disease'));
260260
}
261+
262+
/**
263+
* @see https://github.com/codeigniter4/settings/issues/20
264+
*/
265+
public function testSetUpdatesContextOnly()
266+
{
267+
$settings = new Settings(config('Settings'));
268+
269+
$settings->set('Test.siteName', 'Humpty');
270+
$settings->set('Test.siteName', 'Jack', 'context:male');
271+
$settings->set('Test.siteName', 'Jill', 'context:female');
272+
$settings->set('Test.siteName', 'Jane', 'context:female');
273+
274+
$this->seeInDatabase($this->table, [
275+
'class' => 'Tests\Support\Config\Test',
276+
'key' => 'siteName',
277+
'value' => 'Jane',
278+
'type' => 'string',
279+
'context' => 'context:female',
280+
]);
281+
282+
$this->seeInDatabase($this->table, [
283+
'class' => 'Tests\Support\Config\Test',
284+
'key' => 'siteName',
285+
'value' => 'Humpty',
286+
'type' => 'string',
287+
'context' => null,
288+
]);
289+
$this->seeInDatabase($this->table, [
290+
'class' => 'Tests\Support\Config\Test',
291+
'key' => 'siteName',
292+
'value' => 'Jack',
293+
'type' => 'string',
294+
'context' => 'context:male',
295+
]);
296+
}
261297
}

0 commit comments

Comments
 (0)