From 66224765ea4970597b20252e451d645d8bbbaba2 Mon Sep 17 00:00:00 2001 From: Marcus Moore Date: Wed, 22 Mar 2023 12:31:47 -0700 Subject: [PATCH] Use factory state for webhook settings --- database/factories/SettingFactory.php | 9 +++++++++ .../AssetCheckoutSlackNotificationTest.php | 12 +++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/database/factories/SettingFactory.php b/database/factories/SettingFactory.php index 970d00cd68..acbd6afafa 100644 --- a/database/factories/SettingFactory.php +++ b/database/factories/SettingFactory.php @@ -43,4 +43,13 @@ class SettingFactory extends Factory ]; }); } + + public function withWebhookEnabled() + { + return $this->state(fn() => [ + 'webhook_botname' => 'SnipeBot5000', + 'webhook_endpoint' => 'https://hooks.slack.com/services/NZ59/Q446/672N', + 'webhook_channel' => '#it', + ]); + } } diff --git a/tests/Feature/Notifications/AssetCheckoutSlackNotificationTest.php b/tests/Feature/Notifications/AssetCheckoutSlackNotificationTest.php index 24c588b301..784ffb18d0 100644 --- a/tests/Feature/Notifications/AssetCheckoutSlackNotificationTest.php +++ b/tests/Feature/Notifications/AssetCheckoutSlackNotificationTest.php @@ -13,13 +13,11 @@ use Tests\TestCase; class AssetCheckoutSlackNotificationTest extends TestCase { - private string $slackWebhookUrl = 'https://hooks.slack.com/services/NZ59O2F54K/Q4465WNLM8/672N8MU5JV15RP436WDHRN58'; - public function testNotificationSentToSlackWhenAssetCheckedOutToUserAndSlackNotificationEnabled() { Notification::fake(); - Setting::factory()->create(['webhook_endpoint' => $this->slackWebhookUrl]); + Setting::factory()->withWebhookEnabled()->create(); $asset = Asset::factory()->laptopMbp()->create(); $user = User::factory()->create(); @@ -42,7 +40,7 @@ class AssetCheckoutSlackNotificationTest extends TestCase { Notification::fake(); - Setting::factory()->create(['webhook_endpoint' => $this->slackWebhookUrl]); + Setting::factory()->withWebhookEnabled()->create(); $assetBeingCheckedOut = Asset::factory()->laptopMbp()->create(); $assetBeingCheckedOut->checkOut( @@ -56,7 +54,7 @@ class AssetCheckoutSlackNotificationTest extends TestCase new AnonymousNotifiable, CheckoutAssetNotification::class, function ($notification, $channels, $notifiable) { - return $notifiable->routes['slack'] === $this->slackWebhookUrl; + return $notifiable->routes['slack'] === Setting::getSettings()->webhook_endpoint; } ); } @@ -81,7 +79,7 @@ class AssetCheckoutSlackNotificationTest extends TestCase { Notification::fake(); - Setting::factory()->create(['webhook_endpoint' => $this->slackWebhookUrl]); + Setting::factory()->withWebhookEnabled()->create(); $asset = Asset::factory()->laptopMbp()->create(); $asset->checkOut( @@ -95,7 +93,7 @@ class AssetCheckoutSlackNotificationTest extends TestCase new AnonymousNotifiable, CheckoutAssetNotification::class, function ($notification, $channels, $notifiable) { - return $notifiable->routes['slack'] === $this->slackWebhookUrl; + return $notifiable->routes['slack'] === Setting::getSettings()->webhook_endpoint; } ); }