+
+ public function test_toggle_dark_mode()
+ {
+ $home = $this->actingAs($this->getEditor())->get('/');
+ $home->assertElementNotExists('.dark-mode');
+ $home->assertSee('Dark Mode');
+
+ $this->assertEquals(false, setting()->getForCurrentUser('dark-mode-enabled', false));
+ $prefChange = $this->patch('/settings/users/toggle-dark-mode');
+ $prefChange->assertRedirect();
+ $this->assertEquals(true, setting()->getForCurrentUser('dark-mode-enabled'));
+
+ $home = $this->actingAs($this->getEditor())->get('/');
+ $home->assertElementExists('.dark-mode');
+ $home->assertDontSee('Dark Mode');
+ $home->assertSee('Light Mode');
+ }
+
+ public function test_dark_mode_defaults_to_config_option()
+ {
+ config()->set('setting-defaults.user.dark-mode-enabled', false);
+ $this->assertEquals(false, setting()->getForCurrentUser('dark-mode-enabled'));
+ $home = $this->get('/login');
+ $home->assertElementNotExists('.dark-mode');
+
+ config()->set('setting-defaults.user.dark-mode-enabled', true);
+ $this->assertEquals(true, setting()->getForCurrentUser('dark-mode-enabled'));
+ $home = $this->get('/login');
+ $home->assertElementExists('.dark-mode');
+ }