mirror of
https://github.com/DanielSiepmann/tracking.git
synced 2024-11-21 21:46:09 +01:00
Raise to TYPO3 v13.4 LTS
This commit is contained in:
parent
f50cbacdab
commit
50f2a95156
4 changed files with 59 additions and 19 deletions
|
@ -24,17 +24,17 @@ declare(strict_types=1);
|
||||||
namespace DanielSiepmann\Tracking\Domain\Pageview;
|
namespace DanielSiepmann\Tracking\Domain\Pageview;
|
||||||
|
|
||||||
use DanielSiepmann\Tracking\Domain\Model\Pageview;
|
use DanielSiepmann\Tracking\Domain\Model\Pageview;
|
||||||
|
use DanielSiepmann\Tracking\Domain\Repository\Site;
|
||||||
use DateTimeImmutable;
|
use DateTimeImmutable;
|
||||||
use Psr\Http\Message\ServerRequestInterface;
|
use Psr\Http\Message\ServerRequestInterface;
|
||||||
use TYPO3\CMS\Core\Routing\PageArguments;
|
use TYPO3\CMS\Core\Routing\PageArguments;
|
||||||
use TYPO3\CMS\Core\Site\Entity\SiteLanguage;
|
use TYPO3\CMS\Core\Site\Entity\SiteLanguage;
|
||||||
use TYPO3\CMS\Core\Site\SiteFinder;
|
|
||||||
use UnexpectedValueException;
|
use UnexpectedValueException;
|
||||||
|
|
||||||
class Factory
|
class Factory
|
||||||
{
|
{
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private readonly SiteFinder $siteFinder
|
private readonly Site $siteRepository
|
||||||
) {
|
) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ class Factory
|
||||||
{
|
{
|
||||||
return new Pageview(
|
return new Pageview(
|
||||||
(int) $dbRow['pid'],
|
(int) $dbRow['pid'],
|
||||||
$this->siteFinder->getSiteByPageId((int) $dbRow['pid'])->getLanguageById((int) $dbRow['sys_language_uid']),
|
$this->siteRepository->findByPageUid((int) $dbRow['pid'])->getLanguageById((int) $dbRow['sys_language_uid']),
|
||||||
new DateTimeImmutable('@' . $dbRow['crdate']),
|
new DateTimeImmutable('@' . $dbRow['crdate']),
|
||||||
(int) $dbRow['type'],
|
(int) $dbRow['type'],
|
||||||
$dbRow['url'],
|
$dbRow['url'],
|
||||||
|
|
40
Classes/Domain/Repository/Site.php
Normal file
40
Classes/Domain/Repository/Site.php
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2024 Daniel Siepmann <daniel.siepmann@codappix.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||||
|
* 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace DanielSiepmann\Tracking\Domain\Repository;
|
||||||
|
|
||||||
|
use TYPO3\CMS\Core\Site\Entity\Site as SiteEntity;
|
||||||
|
use TYPO3\CMS\Core\Site\SiteFinder;
|
||||||
|
|
||||||
|
class Site
|
||||||
|
{
|
||||||
|
public function __construct(
|
||||||
|
private readonly SiteFinder $siteFinder
|
||||||
|
) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public function findByPageUid(int $pageUid): SiteEntity
|
||||||
|
{
|
||||||
|
return $this->siteFinder->getSiteByPageId($pageUid);
|
||||||
|
}
|
||||||
|
}
|
|
@ -24,14 +24,14 @@ namespace DanielSiepmann\Tracking\Tests\Unit\Domain\Pageview;
|
||||||
*/
|
*/
|
||||||
use DanielSiepmann\Tracking\Domain\Model\Pageview;
|
use DanielSiepmann\Tracking\Domain\Model\Pageview;
|
||||||
use DanielSiepmann\Tracking\Domain\Pageview\Factory;
|
use DanielSiepmann\Tracking\Domain\Pageview\Factory;
|
||||||
|
use DanielSiepmann\Tracking\Domain\Repository\Site;
|
||||||
use DateTimeImmutable;
|
use DateTimeImmutable;
|
||||||
use PHPUnit\Framework\Attributes\CoversClass;
|
use PHPUnit\Framework\Attributes\CoversClass;
|
||||||
use PHPUnit\Framework\Attributes\Test;
|
use PHPUnit\Framework\Attributes\Test;
|
||||||
use Psr\Http\Message\ServerRequestInterface;
|
use Psr\Http\Message\ServerRequestInterface;
|
||||||
use TYPO3\CMS\Core\Routing\PageArguments;
|
use TYPO3\CMS\Core\Routing\PageArguments;
|
||||||
use TYPO3\CMS\Core\Site\Entity\Site;
|
use TYPO3\CMS\Core\Site\Entity\Site as SiteEntity;
|
||||||
use TYPO3\CMS\Core\Site\Entity\SiteLanguage;
|
use TYPO3\CMS\Core\Site\Entity\SiteLanguage;
|
||||||
use TYPO3\CMS\Core\Site\SiteFinder;
|
|
||||||
use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
|
use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
|
||||||
|
|
||||||
#[CoversClass(Factory::class)]
|
#[CoversClass(Factory::class)]
|
||||||
|
@ -54,7 +54,7 @@ class FactoryTest extends UnitTestCase
|
||||||
$request->method('getUri')->willReturn('');
|
$request->method('getUri')->willReturn('');
|
||||||
$request->method('getHeader')->willReturn([]);
|
$request->method('getHeader')->willReturn([]);
|
||||||
|
|
||||||
$subject = new Factory($this->createStub(SiteFinder::class));
|
$subject = new Factory($this->createStub(Site::class));
|
||||||
|
|
||||||
$result = $subject->fromRequest($request);
|
$result = $subject->fromRequest($request);
|
||||||
self::assertInstanceOf(Pageview::class, $result);
|
self::assertInstanceOf(Pageview::class, $result);
|
||||||
|
@ -79,7 +79,7 @@ class FactoryTest extends UnitTestCase
|
||||||
'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0',
|
'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$subject = new Factory($this->createStub(SiteFinder::class));
|
$subject = new Factory($this->createStub(Site::class));
|
||||||
|
|
||||||
$result = $subject->fromRequest($request);
|
$result = $subject->fromRequest($request);
|
||||||
self::assertSame(
|
self::assertSame(
|
||||||
|
@ -105,7 +105,7 @@ class FactoryTest extends UnitTestCase
|
||||||
$request->method('getUri')->willReturn('https://example.com/path?query=params&some=more#anchor');
|
$request->method('getUri')->willReturn('https://example.com/path?query=params&some=more#anchor');
|
||||||
$request->method('getHeader')->willReturn([]);
|
$request->method('getHeader')->willReturn([]);
|
||||||
|
|
||||||
$subject = new Factory($this->createStub(SiteFinder::class));
|
$subject = new Factory($this->createStub(Site::class));
|
||||||
|
|
||||||
$result = $subject->fromRequest($request);
|
$result = $subject->fromRequest($request);
|
||||||
self::assertSame(
|
self::assertSame(
|
||||||
|
@ -131,7 +131,7 @@ class FactoryTest extends UnitTestCase
|
||||||
$request->method('getUri')->willReturn('');
|
$request->method('getUri')->willReturn('');
|
||||||
$request->method('getHeader')->willReturn([]);
|
$request->method('getHeader')->willReturn([]);
|
||||||
|
|
||||||
$subject = new Factory($this->createStub(SiteFinder::class));
|
$subject = new Factory($this->createStub(Site::class));
|
||||||
|
|
||||||
$result = $subject->fromRequest($request);
|
$result = $subject->fromRequest($request);
|
||||||
self::assertSame(
|
self::assertSame(
|
||||||
|
@ -157,7 +157,7 @@ class FactoryTest extends UnitTestCase
|
||||||
$request->method('getUri')->willReturn('');
|
$request->method('getUri')->willReturn('');
|
||||||
$request->method('getHeader')->willReturn([]);
|
$request->method('getHeader')->willReturn([]);
|
||||||
|
|
||||||
$subject = new Factory($this->createStub(SiteFinder::class));
|
$subject = new Factory($this->createStub(Site::class));
|
||||||
|
|
||||||
$result = $subject->fromRequest($request);
|
$result = $subject->fromRequest($request);
|
||||||
self::assertInstanceOf(DateTimeImmutable::class, $result->getCrdate());
|
self::assertInstanceOf(DateTimeImmutable::class, $result->getCrdate());
|
||||||
|
@ -180,7 +180,7 @@ class FactoryTest extends UnitTestCase
|
||||||
$request->method('getUri')->willReturn('');
|
$request->method('getUri')->willReturn('');
|
||||||
$request->method('getHeader')->willReturn([]);
|
$request->method('getHeader')->willReturn([]);
|
||||||
|
|
||||||
$subject = new Factory($this->createStub(SiteFinder::class));
|
$subject = new Factory($this->createStub(Site::class));
|
||||||
|
|
||||||
$result = $subject->fromRequest($request);
|
$result = $subject->fromRequest($request);
|
||||||
self::assertInstanceOf(SiteLanguage::class, $result->getLanguage());
|
self::assertInstanceOf(SiteLanguage::class, $result->getLanguage());
|
||||||
|
@ -203,7 +203,7 @@ class FactoryTest extends UnitTestCase
|
||||||
$request->method('getUri')->willReturn('');
|
$request->method('getUri')->willReturn('');
|
||||||
$request->method('getHeader')->willReturn([]);
|
$request->method('getHeader')->willReturn([]);
|
||||||
|
|
||||||
$subject = new Factory($this->createStub(SiteFinder::class));
|
$subject = new Factory($this->createStub(Site::class));
|
||||||
|
|
||||||
$result = $subject->fromRequest($request);
|
$result = $subject->fromRequest($request);
|
||||||
self::assertSame(
|
self::assertSame(
|
||||||
|
@ -216,12 +216,12 @@ class FactoryTest extends UnitTestCase
|
||||||
public function returnsPageviewFromDbRow(): void
|
public function returnsPageviewFromDbRow(): void
|
||||||
{
|
{
|
||||||
$siteLanguage = $this->createStub(SiteLanguage::class);
|
$siteLanguage = $this->createStub(SiteLanguage::class);
|
||||||
$site = $this->createStub(Site::class);
|
$site = $this->createStub(SiteEntity::class);
|
||||||
$site->method('getLanguageById')->willReturn($siteLanguage);
|
$site->method('getLanguageById')->willReturn($siteLanguage);
|
||||||
$siteFinder = $this->createStub(SiteFinder::class);
|
$siteRepository = $this->createStub(Site::class);
|
||||||
$siteFinder->method('getSiteByPageId')->willReturn($site);
|
$siteRepository->method('findByPageUid')->willReturn($site);
|
||||||
|
|
||||||
$subject = new Factory($siteFinder);
|
$subject = new Factory($siteRepository);
|
||||||
|
|
||||||
$result = $subject->fromDbRow([
|
$result = $subject->fromDbRow([
|
||||||
'uid' => 1,
|
'uid' => 1,
|
||||||
|
|
|
@ -34,9 +34,9 @@
|
||||||
"psr/http-server-middleware": "^1.0",
|
"psr/http-server-middleware": "^1.0",
|
||||||
"symfony/console": "^5.2 || ^6.1 || ^7.0",
|
"symfony/console": "^5.2 || ^6.1 || ^7.0",
|
||||||
"symfony/expression-language": "^5.2 || ^6.1 || ^7.0",
|
"symfony/expression-language": "^5.2 || ^6.1 || ^7.0",
|
||||||
"typo3/cms-backend": "^12.4 || ^13.3",
|
"typo3/cms-backend": "^12.4 || ^13.4",
|
||||||
"typo3/cms-core": "^12.4 || ^13.3",
|
"typo3/cms-core": "^12.4 || ^13.4",
|
||||||
"typo3/cms-dashboard": "^12.4 || ^13.3"
|
"typo3/cms-dashboard": "^12.4 || ^13.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"codappix/typo3-php-datasets": "^1.5",
|
"codappix/typo3-php-datasets": "^1.5",
|
||||||
|
|
Loading…
Reference in a new issue