Skip to content

Commit

Permalink
[TASK] Drop the cached seminars from LegacyRegistration (#3775)
Browse files Browse the repository at this point in the history
Models should not cache anything, particularly not for other models.

Fixes #3649
  • Loading branch information
oliverklee authored Oct 4, 2024
1 parent dbb307f commit 4d1a889
Show file tree
Hide file tree
Showing 4 changed files with 1 addition and 60 deletions.
25 changes: 1 addition & 24 deletions Classes/OldModel/LegacyRegistration.php
Original file line number Diff line number Diff line change
Expand Up @@ -69,25 +69,8 @@ class LegacyRegistration extends AbstractModel
*/
protected array $checkboxes = [];

/**
* cached seminar objects with the seminar UIDs as keys and the objects as values
*
* @var array<positive-int, LegacyEvent>
*/
private static array $cachedSeminars = [];

protected ?FrontEndUser $user = null;

/**
* Purges our cached seminars array.
*
* This function is intended for testing purposes only.
*/
public static function purgeCachedSeminars(): void
{
self::$cachedSeminars = [];
}

/**
* Gets the number of seats that are registered with this registration.
*
Expand Down Expand Up @@ -381,13 +364,7 @@ public function getSeminarObject(): LegacyEvent
if (!($this->seminar instanceof LegacyEvent) && $this->isOk()) {
$seminarUid = $this->getRecordPropertyInteger('seminar');
\assert($seminarUid > 0);
if (isset(self::$cachedSeminars[$seminarUid])) {
$this->seminar = self::$cachedSeminars[$seminarUid];
} else {
$seminar = GeneralUtility::makeInstance(LegacyEvent::class, $seminarUid);
$this->seminar = $seminar;
self::$cachedSeminars[$seminarUid] = $seminar;
}
$this->seminar = GeneralUtility::makeInstance(LegacyEvent::class, $seminarUid);
}

return $this->seminar;
Expand Down
1 change: 0 additions & 1 deletion Tests/Functional/Service/RegistrationManagerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,6 @@ protected function setUp(): void

$this->initializeBackEndLanguage();

LegacyRegistration::purgeCachedSeminars();
$configurationRegistry = ConfigurationRegistry::getInstance();
$this->configuration = new DummyConfiguration(
[
Expand Down
34 changes: 0 additions & 34 deletions Tests/LegacyFunctional/OldModel/LegacyRegistrationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,6 @@ protected function setUp(): void
GeneralUtility::makeInstance(Context::class)
->setAspect('date', new DateTimeAspect(new \DateTimeImmutable('2018-04-26 12:42:23')));

LegacyRegistration::purgeCachedSeminars();

$this->testingFramework = new TestingFramework('tx_seminars');
$rootPageUid = $this->testingFramework->createFrontEndPage();
$this->testingFramework->changeRecord('pages', $rootPageUid, ['slug' => '/home']);
Expand Down Expand Up @@ -514,38 +512,6 @@ public function commitToDbCanCreateNewRecord(): void
);
}

// Tests regarding the cached seminars.

/**
* @test
*/
public function purgeCachedSeminarsResultsInDifferentDataForSameSeminarUid(): void
{
$seminarUid = $this->testingFramework->createRecord(
'tx_seminars_seminars',
['title' => 'test title 1']
);

$registrationUid = $this->testingFramework->createRecord(
'tx_seminars_attendances',
['seminar' => $seminarUid]
);

$this->testingFramework->changeRecord(
'tx_seminars_seminars',
$seminarUid,
['title' => 'test title 2']
);

LegacyRegistration::purgeCachedSeminars();
$subject = new LegacyRegistration($registrationUid);

self::assertSame(
'test title 2',
$subject->getSeminarObject()->getTitle()
);
}

// Tests for setting and getting the user data

/**
Expand Down
1 change: 0 additions & 1 deletion Tests/LegacyFunctional/Service/RegistrationManagerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ protected function setUp(): void
$this->addMockedInstance(MailMessage::class, $this->email);
$this->addMockedInstance(MailMessage::class, $secondEmail);

LegacyRegistration::purgeCachedSeminars();
$configurationRegistry = ConfigurationRegistry::getInstance();
$this->configuration = new DummyConfiguration(
[
Expand Down

0 comments on commit 4d1a889

Please sign in to comment.