From d25bd9ebbcb7cdf6a54264c91622470546c0723f Mon Sep 17 00:00:00 2001 From: James Brooks Date: Tue, 26 Nov 2024 17:11:58 +0000 Subject: [PATCH] Add tests and fix bug --- src/Filament/Pages/Integrations/OhDear.php | 6 ++-- .../Integrations/ImportOhDearFeedTest.php | 28 +++++++++++++++++++ tests/stubs/ohdear-feed-php.json | 1 + 3 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 tests/Unit/Actions/Integrations/ImportOhDearFeedTest.php create mode 100644 tests/stubs/ohdear-feed-php.json diff --git a/src/Filament/Pages/Integrations/OhDear.php b/src/Filament/Pages/Integrations/OhDear.php index 1ec99784..d6e5ad37 100644 --- a/src/Filament/Pages/Integrations/OhDear.php +++ b/src/Filament/Pages/Integrations/OhDear.php @@ -29,9 +29,9 @@ class OhDear extends Page protected static string $view = 'cachet::filament.pages.integrations.oh-dear'; public string $url; - public bool $import_sites; - public ?int $component_group_id; - public bool $import_incidents; + public bool $import_sites = false; + public ?int $component_group_id = null; + public bool $import_incidents = false; /** * Mount the page. diff --git a/tests/Unit/Actions/Integrations/ImportOhDearFeedTest.php b/tests/Unit/Actions/Integrations/ImportOhDearFeedTest.php new file mode 100644 index 00000000..e5b07b1e --- /dev/null +++ b/tests/Unit/Actions/Integrations/ImportOhDearFeedTest.php @@ -0,0 +1,28 @@ +assertDatabaseHas('components', [ + 'link' => 'https://www.php.net/', + 'name' => 'php.net', + 'component_group_id' => 1, + 'status' => ComponentStatusEnum::operational, + ]); + + $this->assertDatabaseHas('incidents', [ + 'external_provider' => ExternalProviderEnum::OhDear->value, + 'external_id' => "1274100", + 'name' => 'php.net has recovered.', + 'status' => IncidentStatusEnum::fixed, + ]); +}); diff --git a/tests/stubs/ohdear-feed-php.json b/tests/stubs/ohdear-feed-php.json new file mode 100644 index 00000000..06936811 --- /dev/null +++ b/tests/stubs/ohdear-feed-php.json @@ -0,0 +1 @@ +{"title":"PHP.net Status","timezone":"UTC","pinnedUpdate":null,"sites":{"ungrouped":[{"label":"php.net","url":"https:\/\/www.php.net\/","status":"up"},{"label":"pecl.php.net","url":"https:\/\/pecl.php.net","status":"up"},{"label":"bugs.php.net","url":"https:\/\/bugs.php.net","status":"up"},{"label":"museum.php.net","url":"https:\/\/museum.php.net","status":"up"},{"label":"wiki.php.net","url":"https:\/\/wiki.php.net","status":"up"},{"label":"people.php.net","url":"https:\/\/people.php.net","status":"up"},{"label":"news-web.php.net","url":"https:\/\/news-web.php.net","status":"up"},{"label":"downloads.php.net","url":"https:\/\/downloads.php.net","status":"up"}]},"updatesPerDay":{"1732579200":[],"1732492800":[],"1732406400":[{"id":1274100,"title":"php.net has recovered.","text":"","pinned":false,"severity":"resolved","time":1732471160},{"id":1273622,"title":"php.net appears to be down.","text":"","pinned":false,"severity":"warning","time":1732429163},{"id":1273623,"title":"downloads.php.net appears to be down.","text":"","pinned":false,"severity":"warning","time":1732429163}],"1732320000":[],"1732233600":[],"1732147200":[],"1732060800":[]},"summarizedStatus":"up"}