mirror of
https://github.com/wallabag/wallabag.git
synced 2024-11-26 02:51:04 +00:00
PHPStan level 3
This commit is contained in:
parent
85065b509f
commit
0f17a8cf8a
25 changed files with 86 additions and 74 deletions
|
@ -1,10 +1,25 @@
|
|||
parameters:
|
||||
ignoreErrors:
|
||||
-
|
||||
message: "#^Method Wallabag\\\\AnnotationBundle\\\\Controller\\\\WallabagAnnotationController\\:\\:postAnnotationAction\\(\\) should return Symfony\\\\Component\\\\HttpFoundation\\\\JsonResponse but returns Symfony\\\\Component\\\\Form\\\\FormInterface\\<mixed\\>\\.$#"
|
||||
count: 1
|
||||
path: src/Wallabag/AnnotationBundle/Controller/WallabagAnnotationController.php
|
||||
|
||||
-
|
||||
message: "#^Method Wallabag\\\\AnnotationBundle\\\\Controller\\\\WallabagAnnotationController\\:\\:putAnnotationAction\\(\\) should return Symfony\\\\Component\\\\HttpFoundation\\\\JsonResponse but returns Symfony\\\\Component\\\\Form\\\\FormInterface\\<mixed\\>\\.$#"
|
||||
count: 1
|
||||
path: src/Wallabag/AnnotationBundle/Controller/WallabagAnnotationController.php
|
||||
|
||||
-
|
||||
message: "#^Call to an undefined method Wallabag\\\\CoreBundle\\\\Entity\\\\RuleInterface\\:\\:getConfig\\(\\)\\.$#"
|
||||
count: 1
|
||||
path: src/Wallabag/CoreBundle/Controller/ConfigController.php
|
||||
|
||||
-
|
||||
message: "#^Method FOS\\\\UserBundle\\\\Model\\\\UserManagerInterface\\:\\:updateUser\\(\\) invoked with 2 parameters, 1 required\\.$#"
|
||||
count: 7
|
||||
path: src/Wallabag/CoreBundle/Controller/ConfigController.php
|
||||
|
||||
-
|
||||
message: "#^Call to an undefined method Lexik\\\\Bundle\\\\FormFilterBundle\\\\Filter\\\\Query\\\\QueryInterface\\:\\:getExpressionBuilder\\(\\)\\.$#"
|
||||
count: 1
|
||||
|
@ -40,27 +55,12 @@ parameters:
|
|||
count: 2
|
||||
path: src/Wallabag/UserBundle/Mailer/AuthCodeMailer.php
|
||||
|
||||
-
|
||||
message: "#^PHPDoc type Symfony\\\\Component\\\\Mailer\\\\MailerInterface of property Wallabag\\\\UserBundle\\\\Mailer\\\\UserMailer\\:\\:\\$mailer is not covariant with PHPDoc type Swift_Mailer of overridden property FOS\\\\UserBundle\\\\Mailer\\\\TwigSwiftMailer\\:\\:\\$mailer\\.$#"
|
||||
count: 1
|
||||
path: src/Wallabag/UserBundle/Mailer/UserMailer.php
|
||||
|
||||
-
|
||||
message: "#^Call to an undefined method DOMNode\\:\\:getAttribute\\(\\)\\.$#"
|
||||
count: 1
|
||||
path: tests/Wallabag/CoreBundle/Controller/FeedControllerTest.php
|
||||
|
||||
-
|
||||
message: "#^Call to method generate\\(\\) on an unknown class PHPUnit_Framework_MockObject_MockObject\\.$#"
|
||||
count: 2
|
||||
path: tests/Wallabag/CoreBundle/Helper/RedirectTest.php
|
||||
|
||||
-
|
||||
message: "#^Property Tests\\\\Wallabag\\\\CoreBundle\\\\Helper\\\\RedirectTest\\:\\:\\$routerMock has unknown class PHPUnit_Framework_MockObject_MockObject as its type\\.$#"
|
||||
count: 1
|
||||
path: tests/Wallabag/CoreBundle/Helper/RedirectTest.php
|
||||
|
||||
-
|
||||
message: "#^Method Symfony\\\\Contracts\\\\EventDispatcher\\\\EventDispatcherInterface\\:\\:dispatch()#"
|
||||
count: 15
|
||||
path: src/*
|
||||
|
||||
-
|
||||
message: "#^Method FOS\\\\UserBundle\\\\Model\\\\UserManagerInterface\\:\\:updateUser()#"
|
||||
count: 7
|
||||
path: src/Wallabag/CoreBundle/Controller/ConfigController.php
|
||||
|
|
|
@ -2,7 +2,7 @@ includes:
|
|||
- phpstan-baseline.neon
|
||||
|
||||
parameters:
|
||||
level: 2
|
||||
level: 3
|
||||
paths:
|
||||
- src
|
||||
- tests
|
||||
|
@ -14,3 +14,6 @@ parameters:
|
|||
- vendor/bin/.phpunit/phpunit-8.5-0/vendor/autoload.php
|
||||
|
||||
inferPrivatePropertyTypeFromConstructor: true
|
||||
|
||||
ignoreErrors:
|
||||
- "#^Method Symfony\\\\Contracts\\\\EventDispatcher\\\\EventDispatcherInterface\\:\\:dispatch\\(\\) invoked with 2 parameters, 1 required\\.$#"
|
||||
|
|
|
@ -4,8 +4,8 @@ namespace Wallabag\ApiBundle\Controller;
|
|||
|
||||
use Nelmio\ApiDocBundle\Annotation\Operation;
|
||||
use OpenApi\Annotations as OA;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
use Wallabag\AnnotationBundle\Entity\Annotation;
|
||||
use Wallabag\CoreBundle\Entity\Entry;
|
||||
|
@ -36,7 +36,7 @@ class AnnotationRestController extends WallabagRestController
|
|||
*
|
||||
* @Route("/api/annotations/{entry}.{_format}", methods={"GET"}, name="api_get_annotations", defaults={"_format": "json"})
|
||||
*
|
||||
* @return JsonResponse
|
||||
* @return Response
|
||||
*/
|
||||
public function getAnnotationsAction(Entry $entry)
|
||||
{
|
||||
|
@ -102,7 +102,7 @@ class AnnotationRestController extends WallabagRestController
|
|||
*
|
||||
* @Route("/api/annotations/{entry}.{_format}", methods={"POST"}, name="api_post_annotation", defaults={"_format": "json"})
|
||||
*
|
||||
* @return JsonResponse
|
||||
* @return Response
|
||||
*/
|
||||
public function postAnnotationAction(Request $request, Entry $entry)
|
||||
{
|
||||
|
@ -138,7 +138,7 @@ class AnnotationRestController extends WallabagRestController
|
|||
*
|
||||
* @Route("/api/annotations/{annotation}.{_format}", methods={"PUT"}, name="api_put_annotation", defaults={"_format": "json"})
|
||||
*
|
||||
* @return JsonResponse
|
||||
* @return Response
|
||||
*/
|
||||
public function putAnnotationAction(int $annotation, Request $request)
|
||||
{
|
||||
|
@ -174,7 +174,7 @@ class AnnotationRestController extends WallabagRestController
|
|||
*
|
||||
* @Route("/api/annotations/{annotation}.{_format}", methods={"DELETE"}, name="api_delete_annotation", defaults={"_format": "json"})
|
||||
*
|
||||
* @return JsonResponse
|
||||
* @return Response
|
||||
*/
|
||||
public function deleteAnnotationAction(int $annotation)
|
||||
{
|
||||
|
|
|
@ -5,6 +5,7 @@ namespace Wallabag\CoreBundle\Controller;
|
|||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\Form\Form;
|
||||
use Symfony\Component\Form\FormInterface;
|
||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
@ -138,7 +139,7 @@ class IgnoreOriginInstanceRuleController extends AbstractController
|
|||
*
|
||||
* @param IgnoreOriginInstanceRule $ignoreOriginInstanceRule The ignore origin instance rule entity
|
||||
*
|
||||
* @return Form The form
|
||||
* @return FormInterface The form
|
||||
*/
|
||||
private function createDeleteForm(IgnoreOriginInstanceRule $ignoreOriginInstanceRule)
|
||||
{
|
||||
|
|
|
@ -6,6 +6,7 @@ use Craue\ConfigBundle\Util\Config;
|
|||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\Form\Form;
|
||||
use Symfony\Component\Form\FormInterface;
|
||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
@ -173,7 +174,7 @@ class SiteCredentialController extends AbstractController
|
|||
*
|
||||
* @param SiteCredential $siteCredential The site credential entity
|
||||
*
|
||||
* @return Form The form
|
||||
* @return FormInterface The form
|
||||
*/
|
||||
private function createDeleteForm(SiteCredential $siteCredential)
|
||||
{
|
||||
|
|
|
@ -132,12 +132,16 @@ class Config
|
|||
private $user;
|
||||
|
||||
/**
|
||||
* @var ArrayCollection<TaggingRule>
|
||||
*
|
||||
* @ORM\OneToMany(targetEntity="Wallabag\CoreBundle\Entity\TaggingRule", mappedBy="config", cascade={"remove"})
|
||||
* @ORM\OrderBy({"id" = "ASC"})
|
||||
*/
|
||||
private $taggingRules;
|
||||
|
||||
/**
|
||||
@var ArrayCollection<IgnoreOriginUserRule>
|
||||
|
||||
* @ORM\OneToMany(targetEntity="Wallabag\CoreBundle\Entity\IgnoreOriginUserRule", mappedBy="config", cascade={"remove"})
|
||||
* @ORM\OrderBy({"id" = "ASC"})
|
||||
*/
|
||||
|
@ -371,12 +375,9 @@ class Config
|
|||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function getDisplayThumbnails(): ?bool
|
||||
public function getDisplayThumbnails(): bool
|
||||
{
|
||||
return $this->displayThumbnails;
|
||||
return (bool) $this->displayThumbnails;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -384,7 +385,7 @@ class Config
|
|||
*/
|
||||
public function setDisplayThumbnails(bool $displayThumbnails)
|
||||
{
|
||||
$this->displayThumbnails = $displayThumbnails;
|
||||
$this->displayThumbnails = $displayThumbnails ? 1 : 0;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
|
|
@ -55,7 +55,7 @@ class Entry
|
|||
private $id;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
* @var string|null
|
||||
*
|
||||
* @ORM\Column(name="uid", type="string", length=23, nullable=true)
|
||||
*
|
||||
|
@ -132,7 +132,7 @@ class Entry
|
|||
private $isArchived = false;
|
||||
|
||||
/**
|
||||
* @var \DateTime
|
||||
* @var \DateTimeInterface
|
||||
*
|
||||
* @ORM\Column(name="archived_at", type="datetime", nullable=true)
|
||||
*
|
||||
|
@ -161,7 +161,7 @@ class Entry
|
|||
private $content;
|
||||
|
||||
/**
|
||||
* @var \DateTime
|
||||
* @var \DateTimeInterface
|
||||
*
|
||||
* @ORM\Column(name="created_at", type="datetime")
|
||||
*
|
||||
|
@ -170,7 +170,7 @@ class Entry
|
|||
private $createdAt;
|
||||
|
||||
/**
|
||||
* @var \DateTime
|
||||
* @var \DateTimeInterface
|
||||
*
|
||||
* @ORM\Column(name="updated_at", type="datetime")
|
||||
*
|
||||
|
@ -179,7 +179,7 @@ class Entry
|
|||
private $updatedAt;
|
||||
|
||||
/**
|
||||
* @var \DateTime
|
||||
* @var \DateTimeInterface
|
||||
*
|
||||
* @ORM\Column(name="published_at", type="datetime", nullable=true)
|
||||
*
|
||||
|
@ -197,7 +197,7 @@ class Entry
|
|||
private $publishedBy;
|
||||
|
||||
/**
|
||||
* @var \DateTime
|
||||
* @var \DateTimeInterface
|
||||
*
|
||||
* @ORM\Column(name="starred_at", type="datetime", nullable=true)
|
||||
*
|
||||
|
@ -400,7 +400,7 @@ class Entry
|
|||
}
|
||||
|
||||
/**
|
||||
* @return \DateTime|null
|
||||
* @return \DateTimeInterface|null
|
||||
*/
|
||||
public function getArchivedAt()
|
||||
{
|
||||
|
@ -408,7 +408,7 @@ class Entry
|
|||
}
|
||||
|
||||
/**
|
||||
* @param \DateTime|null $archivedAt
|
||||
* @param \DateTimeInterface|null $archivedAt
|
||||
*
|
||||
* @return Entry
|
||||
*/
|
||||
|
@ -482,7 +482,7 @@ class Entry
|
|||
|
||||
public function toggleStar()
|
||||
{
|
||||
$this->isStarred = $this->isStarred() ^ 1;
|
||||
$this->isStarred = !$this->isStarred();
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
@ -560,7 +560,7 @@ class Entry
|
|||
}
|
||||
|
||||
/**
|
||||
* @return \DateTime
|
||||
* @return \DateTimeInterface
|
||||
*/
|
||||
public function getCreatedAt()
|
||||
{
|
||||
|
@ -568,7 +568,7 @@ class Entry
|
|||
}
|
||||
|
||||
/**
|
||||
* @return \DateTime
|
||||
* @return \DateTimeInterface
|
||||
*/
|
||||
public function getUpdatedAt()
|
||||
{
|
||||
|
@ -576,7 +576,7 @@ class Entry
|
|||
}
|
||||
|
||||
/**
|
||||
* @return \DateTime|null
|
||||
* @return \DateTimeInterface|null
|
||||
*/
|
||||
public function getStarredAt()
|
||||
{
|
||||
|
@ -584,7 +584,7 @@ class Entry
|
|||
}
|
||||
|
||||
/**
|
||||
* @param \DateTime|null $starredAt
|
||||
* @param \DateTimeInterface|null $starredAt
|
||||
*
|
||||
* @return Entry
|
||||
*/
|
||||
|
@ -881,7 +881,7 @@ class Entry
|
|||
}
|
||||
|
||||
/**
|
||||
* @return \DateTime
|
||||
* @return \DateTimeInterface
|
||||
*/
|
||||
public function getPublishedAt()
|
||||
{
|
||||
|
@ -891,7 +891,7 @@ class Entry
|
|||
/**
|
||||
* @return Entry
|
||||
*/
|
||||
public function setPublishedAt(\DateTime $publishedAt)
|
||||
public function setPublishedAt(\DateTimeInterface $publishedAt)
|
||||
{
|
||||
$this->publishedAt = $publishedAt;
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@ class StringToListTransformer implements DataTransformerInterface
|
|||
public function reverseTransform($string)
|
||||
{
|
||||
if (null === $string) {
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
return array_values(array_filter(array_map('trim', explode($this->separator, $string))));
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
namespace Wallabag\CoreBundle\Helper;
|
||||
|
||||
use Pagerfanta\Adapter\AdapterInterface;
|
||||
use Pagerfanta\Adapter\NullAdapter;
|
||||
use Pagerfanta\Pagerfanta;
|
||||
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
||||
use Wallabag\UserBundle\Entity\User;
|
||||
|
@ -19,7 +20,7 @@ class PreparePagerForEntries
|
|||
/**
|
||||
* @param User $user If user isn't logged in, we can force it (like for feed)
|
||||
*
|
||||
* @return Pagerfanta|null
|
||||
* @return Pagerfanta
|
||||
*/
|
||||
public function prepare(AdapterInterface $adapter, User $user = null)
|
||||
{
|
||||
|
@ -28,7 +29,7 @@ class PreparePagerForEntries
|
|||
}
|
||||
|
||||
if (!$user instanceof User) {
|
||||
return;
|
||||
return new Pagerfanta(new NullAdapter());
|
||||
}
|
||||
|
||||
$entries = new Pagerfanta($adapter);
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace Wallabag\CoreBundle\Helper;
|
||||
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use RulerZ\RulerZ;
|
||||
use Wallabag\CoreBundle\Entity\Entry;
|
||||
|
@ -120,7 +121,7 @@ class RuleBasedTagger
|
|||
/**
|
||||
* Retrieves the tagging rules for a given user.
|
||||
*
|
||||
* @return array<TaggingRule>
|
||||
* @return ArrayCollection<TaggingRule>
|
||||
*/
|
||||
private function getRulesForUser(User $user)
|
||||
{
|
||||
|
|
|
@ -429,7 +429,7 @@ class EntryRepository extends ServiceEntityRepository
|
|||
/**
|
||||
* Find all entries which have an empty value for hash.
|
||||
*
|
||||
* @return Entry|false
|
||||
* @return Entry[]
|
||||
*/
|
||||
public function findByEmptyHashedUrlAndUserId(int $userId)
|
||||
{
|
||||
|
|
|
@ -42,7 +42,7 @@ class SiteCredentialRepository extends ServiceEntityRepository
|
|||
->getOneOrNullResult();
|
||||
|
||||
if (null === $res) {
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
// decrypt user & password before returning them
|
||||
|
|
|
@ -145,7 +145,7 @@ class WallabagExtension extends AbstractExtension implements GlobalsInterface
|
|||
$user = $this->tokenStorage->getToken() ? $this->tokenStorage->getToken()->getUser() : null;
|
||||
|
||||
if (!$user instanceof User) {
|
||||
return 0;
|
||||
return '';
|
||||
}
|
||||
|
||||
$query = $this->entryRepository->getBuilderForArchiveByUser($user->getId())
|
||||
|
|
|
@ -107,7 +107,7 @@ abstract class AbstractImport implements ImportInterface
|
|||
/**
|
||||
* Parse one entry.
|
||||
*
|
||||
* @return Entry
|
||||
* @return Entry|null
|
||||
*/
|
||||
abstract public function parseEntry(array $importedEntry);
|
||||
|
||||
|
|
|
@ -81,28 +81,28 @@ abstract class BrowserImport extends AbstractImport
|
|||
if ($this->producer) {
|
||||
$this->parseEntriesForProducer($importedEntry);
|
||||
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
$this->parseEntries($importedEntry);
|
||||
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
if (\array_key_exists('children', $importedEntry)) {
|
||||
if ($this->producer) {
|
||||
$this->parseEntriesForProducer($importedEntry['children']);
|
||||
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
$this->parseEntries($importedEntry['children']);
|
||||
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
if (!\array_key_exists('uri', $importedEntry) && !\array_key_exists('url', $importedEntry)) {
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
$url = \array_key_exists('uri', $importedEntry) ? $importedEntry['uri'] : $importedEntry['url'];
|
||||
|
@ -114,7 +114,7 @@ abstract class BrowserImport extends AbstractImport
|
|||
if (false !== $existingEntry) {
|
||||
++$this->skippedEntries;
|
||||
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
$data = $this->prepareEntry($importedEntry);
|
||||
|
|
|
@ -104,7 +104,7 @@ class DeliciousImport extends AbstractImport
|
|||
if (false !== $existingEntry) {
|
||||
++$this->skippedEntries;
|
||||
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
$data = [
|
||||
|
|
|
@ -132,7 +132,7 @@ class InstapaperImport extends AbstractImport
|
|||
if (false !== $existingEntry) {
|
||||
++$this->skippedEntries;
|
||||
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
$entry = new Entry($this->user);
|
||||
|
|
|
@ -104,7 +104,7 @@ class PinboardImport extends AbstractImport
|
|||
if (false !== $existingEntry) {
|
||||
++$this->skippedEntries;
|
||||
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
$data = [
|
||||
|
|
|
@ -186,7 +186,7 @@ class PocketImport extends AbstractImport
|
|||
if (false !== $existingEntry) {
|
||||
++$this->skippedEntries;
|
||||
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
$entry = new Entry($this->user);
|
||||
|
|
|
@ -104,7 +104,7 @@ class ReadabilityImport extends AbstractImport
|
|||
if (false !== $existingEntry) {
|
||||
++$this->skippedEntries;
|
||||
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
$data = [
|
||||
|
|
|
@ -110,7 +110,7 @@ abstract class WallabagImport extends AbstractImport
|
|||
if (false !== $existingEntry) {
|
||||
++$this->skippedEntries;
|
||||
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
$data = $this->prepareEntry($importedEntry);
|
||||
|
|
|
@ -13,6 +13,7 @@ use Scheb\TwoFactorBundle\Security\TwoFactor\Provider\Google\GoogleAuthenticator
|
|||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
||||
use Symfony\Component\Form\Form;
|
||||
use Symfony\Component\Form\FormInterface;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
|
@ -184,7 +185,7 @@ class ManageController extends AbstractController
|
|||
*
|
||||
* @param User $user The User entity
|
||||
*
|
||||
* @return Form The form
|
||||
* @return FormInterface The form
|
||||
*/
|
||||
private function createDeleteForm(User $user)
|
||||
{
|
||||
|
|
|
@ -673,7 +673,7 @@ class EntryControllerTest extends WallabagCoreTestCase
|
|||
->getRepository(Entry::class)
|
||||
->findOneById($entry->getId());
|
||||
|
||||
$this->assertSame(1, $res->isStarred());
|
||||
$this->assertTrue($res->isStarred());
|
||||
}
|
||||
|
||||
public function testDelete()
|
||||
|
@ -1748,14 +1748,14 @@ class EntryControllerTest extends WallabagCoreTestCase
|
|||
->getRepository(Entry::class)
|
||||
->find($entry1->getId());
|
||||
|
||||
$this->assertSame(1, $res->isStarred());
|
||||
$this->assertTrue($res->isStarred());
|
||||
|
||||
$res = $client->getContainer()
|
||||
->get(EntityManagerInterface::class)
|
||||
->getRepository(Entry::class)
|
||||
->find($entry2->getId());
|
||||
|
||||
$this->assertSame(1, $res->isStarred());
|
||||
$this->assertTrue($res->isStarred());
|
||||
|
||||
// Mass actions : tag
|
||||
$client->request('POST', '/mass', [
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace Tests\Wallabag\CoreBundle\Helper;
|
||||
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Symfony\Component\Routing\Router;
|
||||
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage;
|
||||
|
@ -12,7 +13,7 @@ use Wallabag\UserBundle\Entity\User;
|
|||
|
||||
class RedirectTest extends TestCase
|
||||
{
|
||||
/** @var \PHPUnit_Framework_MockObject_MockObject */
|
||||
/** @var Router&MockObject */
|
||||
private $routerMock;
|
||||
|
||||
/** @var Redirect */
|
||||
|
|
|
@ -138,6 +138,8 @@ abstract class WallabagCoreTestCase extends WebTestCase
|
|||
$token = static::$kernel->getContainer()->get(TokenStorageInterface::class)->getToken();
|
||||
|
||||
if (null !== $token) {
|
||||
\assert($token->getUser() instanceof User);
|
||||
|
||||
return $token->getUser();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue