|
3 | 3 | namespace Justijndepover\Settings\Tests; |
4 | 4 |
|
5 | 5 | use Illuminate\Support\Facades\DB; |
| 6 | +use Justijndepover\Settings\Tests\Models\User; |
6 | 7 |
|
7 | 8 | class DatabaseSettingsTest extends TestCase |
8 | 9 | { |
@@ -233,4 +234,35 @@ public function it_can_store_locale_settings_and_normal_settings() |
233 | 234 | $setting = DB::table('settings')->where('key', '=', 'name')->where('locale', '=', null)->first(); |
234 | 235 | $this->assertEquals($setting->value, 'value'); |
235 | 236 | } |
| 237 | + |
| 238 | + /** @test */ |
| 239 | + public function it_can_store_different_locale_settings() |
| 240 | + { |
| 241 | + $this->settings->forLocale('nl')->set('name', 'value'); |
| 242 | + $this->settings->forLocale('fr')->set('name', 'value-fr'); |
| 243 | + |
| 244 | + $setting = DB::table('settings')->where('key', '=', 'name')->where('locale', '=', 'nl')->first(); |
| 245 | + $this->assertEquals($setting->value, 'value'); |
| 246 | + |
| 247 | + $setting = DB::table('settings')->where('key', '=', 'name')->where('locale', '=', 'fr')->first(); |
| 248 | + $this->assertEquals($setting->value, 'value-fr'); |
| 249 | + } |
| 250 | + |
| 251 | + /** @test */ |
| 252 | + public function it_has_a_working_user_setting_trait() |
| 253 | + { |
| 254 | + $this->settings->forUser(1)->set('name', 'value'); |
| 255 | + |
| 256 | + $setting = DB::table('settings')->where('key', '=', 'name')->where('user_id', '=', 1)->first(); |
| 257 | + $this->assertEquals($setting->value, 'value'); |
| 258 | + |
| 259 | + $user = User::create([ |
| 260 | + 'name' => 'Foo Bar', |
| 261 | + 'email' => 'foo@bar.com', |
| 262 | + 'password' => 'foobar', |
| 263 | + ]); |
| 264 | + |
| 265 | + $this->assertEquals($user->settings->get('name'), 'value'); |
| 266 | + $this->assertEquals($user->settings()->get('name'), 'value'); |
| 267 | + } |
236 | 268 | } |
0 commit comments