Merge pull request #12954 from marcusmoore/fixes/test-suite-fixes

Clear the settings cache on app destruction
This commit is contained in:
snipe 2023-05-01 16:28:47 -07:00 committed by GitHub
commit 63af17da74
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 30 additions and 2 deletions

View file

@ -2,12 +2,16 @@
namespace Tests\Support;
use App\Models\Setting;
trait InteractsWithSettings
{
protected Settings $settings;
public function setUpSettings()
public function initializeSettings()
{
$this->settings = Settings::initialize();
$this->beforeApplicationDestroyed(fn() => Setting::$_cache = null);
}
}

View file

@ -23,7 +23,7 @@ abstract class TestCase extends BaseTestCase
$this->withoutMiddleware($this->globallyDisabledMiddleware);
if (collect(class_uses_recursive($this))->contains(InteractsWithSettings::class)) {
$this->setUpSettings();
$this->initializeSettings();
}
}
}

View file

@ -3,10 +3,13 @@ namespace Tests\Unit;
use App\Models\AssetMaintenance;
use Carbon\Carbon;
use Tests\Support\InteractsWithSettings;
use Tests\TestCase;
class AssetMaintenanceTest extends TestCase
{
use InteractsWithSettings;
public function testZerosOutWarrantyIfBlank()
{
$c = new AssetMaintenance;

View file

@ -4,10 +4,13 @@ namespace Tests\Unit;
use App\Models\Asset;
use App\Models\Category;
use App\Models\AssetModel;
use Tests\Support\InteractsWithSettings;
use Tests\TestCase;
class AssetModelTest extends TestCase
{
use InteractsWithSettings;
public function testAnAssetModelZerosOutBlankEols()
{
$am = new AssetModel;

View file

@ -5,10 +5,13 @@ use App\Models\Asset;
use App\Models\AssetModel;
use App\Models\Category;
use Carbon\Carbon;
use Tests\Support\InteractsWithSettings;
use Tests\TestCase;
class AssetTest extends TestCase
{
use InteractsWithSettings;
// public function testAutoIncrementMixed()
// {
// $expected = '123411';

View file

@ -4,10 +4,13 @@ namespace Tests\Unit;
use App\Models\Category;
use App\Models\AssetModel;
use App\Models\Asset;
use Tests\Support\InteractsWithSettings;
use Tests\TestCase;
class CategoryTest extends TestCase
{
use InteractsWithSettings;
public function testFailsEmptyValidation()
{
// An Asset requires a name, a qty, and a category_id.

View file

@ -5,10 +5,13 @@ use App\Models\Category;
use App\Models\Company;
use App\Models\Component;
use App\Models\Location;
use Tests\Support\InteractsWithSettings;
use Tests\TestCase;
class ComponentTest extends TestCase
{
use InteractsWithSettings;
public function testAComponentBelongsToACompany()
{
$component = Component::factory()

View file

@ -5,10 +5,13 @@ use App\Models\Depreciation;
use App\Models\Category;
use App\Models\License;
use App\Models\AssetModel;
use Tests\Support\InteractsWithSettings;
use Tests\TestCase;
class DepreciationTest extends TestCase
{
use InteractsWithSettings;
public function testADepreciationHasModels()
{
$depreciation = Depreciation::factory()->create();

View file

@ -8,10 +8,13 @@ use App\Models\Category;
use Carbon\Carbon;
use App\Notifications\CheckoutAssetNotification;
use Illuminate\Support\Facades\Notification;
use Tests\Support\InteractsWithSettings;
use Tests\TestCase;
class NotificationTest extends TestCase
{
use InteractsWithSettings;
public function testAUserIsEmailedIfTheyCheckoutAnAssetWithEULA()
{
$admin = User::factory()->superuser()->create();

View file

@ -2,10 +2,13 @@
namespace Tests\Unit;
use App\Models\SnipeModel;
use Tests\Support\InteractsWithSettings;
use Tests\TestCase;
class SnipeModelTest extends TestCase
{
use InteractsWithSettings;
public function testSetsPurchaseDatesAppropriately()
{
$c = new SnipeModel;