diff --git a/tests/Feature/CompanyTest.php b/tests/Feature/CompanyTest.php index 00470e494a29..ddccd2f5d0a4 100644 --- a/tests/Feature/CompanyTest.php +++ b/tests/Feature/CompanyTest.php @@ -103,7 +103,7 @@ class CompanyTest extends TestCase ) ->assertStatus(302); - Log::error($company); + // Log::error($company); $token = CompanyToken::whereCompanyId($company->id)->first()->token; diff --git a/tests/Unit/GroupSettingsTest.php b/tests/Unit/GroupSettingsTest.php index f708594a84f7..065a147ab3b8 100644 --- a/tests/Unit/GroupSettingsTest.php +++ b/tests/Unit/GroupSettingsTest.php @@ -110,4 +110,86 @@ class GroupSettingsTest extends TestCase } + + public function testClientPriority() + { + $cs = $this->client->company->settings; + $cs->timezone_id = 'COMPANY'; + + $this->client->company->settings = $cs; + + $gs = $this->client->group_settings->settings; + $gs->timezone_id = 'GROUP'; + + $this->client->group_settings->settings = $gs; + + $cls = $this->client->settings; + $cls->timezone_id = 'CLIENT'; + + $this->client->settings = $cls; + + $this->client->group_settings->save(); + $this->client->company->save(); + $this->client->save(); + + $this->client->fresh(); + + $this->assertEquals($this->client->getSetting('timezone_id'), 'CLIENT'); + $this->assertEquals($this->client->getMergedSettings()->timezone_id, 'CLIENT'); + } + + + public function testGroupPriority() + { + $cs = $this->client->company->settings; + $cs->timezone_id = 'COMPANY'; + + $this->client->company->settings = $cs; + + $gs = $this->client->group_settings->settings; + $gs->timezone_id = 'GROUP'; + + $this->client->group_settings->settings = $gs; + + $cls = $this->client->settings; + $cls->timezone_id = NULL; + + $this->client->settings = $cls; + + $this->client->group_settings->save(); + $this->client->company->save(); + $this->client->save(); + + $this->client->fresh(); + + $this->assertEquals($this->client->getSetting('timezone_id'), 'GROUP'); + $this->assertEquals($this->client->getMergedSettings()->timezone_id, 'GROUP'); + } + + public function testCompanyFallBackPriority() + { + $cs = $this->client->company->settings; + $cs->timezone_id = 'COMPANY'; + + $this->client->company->settings = $cs; + + $gs = $this->client->group_settings->settings; + $gs->timezone_id = NULL; + + $this->client->group_settings->settings = $gs; + + $cls = $this->client->settings; + $cls->timezone_id = NULL; + + $this->client->settings = $cls; + + $this->client->group_settings->save(); + $this->client->company->save(); + $this->client->save(); + + $this->client->fresh(); + + $this->assertEquals($this->client->getSetting('timezone_id'), 'COMPANY'); + $this->assertEquals($this->client->getMergedSettings()->timezone_id, 'COMPANY'); + } } \ No newline at end of file