From 788cb6e6d186fad7ab42aa6bb42ed5b352eaf4e8 Mon Sep 17 00:00:00 2001 From: Robbie Averill Date: Fri, 15 Jun 2018 16:50:14 +1200 Subject: [PATCH] FIX Mock akismet spam protector if installed, fixes broken integration tests --- tests/CommentingControllerTest.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/CommentingControllerTest.php b/tests/CommentingControllerTest.php index a811f4e..05357ea 100644 --- a/tests/CommentingControllerTest.php +++ b/tests/CommentingControllerTest.php @@ -2,14 +2,15 @@ namespace SilverStripe\Comments\Tests; +use SilverStripe\Akismet\AkismetSpamProtector; use SilverStripe\Comments\Controllers\CommentingController; use SilverStripe\Comments\Model\Comment; use SilverStripe\Comments\Model\Comment\SecurityToken as CommentSecurityToken; use SilverStripe\Comments\Tests\Stubs\CommentableItem; -use SilverStripe\Comments\Tests\CommentTestHelper; use SilverStripe\Control\Controller; use SilverStripe\Core\Config\Config; use SilverStripe\Core\Email\Email; +use SilverStripe\Core\Injector\Injector; use SilverStripe\Dev\FunctionalTest; use SilverStripe\ORM\DataObject; use SilverStripe\Security\Member; @@ -48,6 +49,12 @@ class CommentingControllerTest extends FunctionalTest // We will assert against explicit responses, unless handed otherwise in a test for redirects $this->autoFollowRedirection = false; + + // Mock Akismet if it's installed + if (class_exists(AkismetSpamProtector::class)) { + $akismetMock = $this->createMock(AkismetSpamProtector::class); + Injector::inst()->registerService($akismetMock, AkismetSpamProtector::class); + } } public function testCommentsFormUsePreview()