MNT Fix siteconfig behat test running on kitchen-sink

This commit is contained in:
Steve Boyd 2024-06-11 10:22:41 +12:00
parent 5e1706e644
commit e134b1116f

View File

@ -5,6 +5,7 @@ namespace SilverStripe\CMS\Tests\Behaviour;
use Page;
use PHPUnit\Framework\Assert;
use SilverStripe\BehatExtension\Context\LoginContext as BehatLoginContext;
use SilverStripe\SiteConfig\SiteConfig;
class LoginContext extends BehatLoginContext
{
@ -26,7 +27,11 @@ class LoginContext extends BehatLoginContext
$password = 'Password!456';
$member = $this->generateMemberWithPermission($email, $password, $permCode);
$canEdit = strstr($negative ?? '', 'not') ? false : true;
// Flush the SiteConfig cache so that siteconfig behat tests that update a
// SiteConfig DataObject will not be referring to a stale verion of itself
// which can happen because SiteConfig::current_site_config() uses DataObject::get_one()
// which will caches its result by default
SiteConfig::current_site_config()->flushCache();
if ($canEdit) {
Assert::assertTrue($page->canEdit($member), 'The member can edit this page');
} else {