В тестах бывает что репозитории заменяются на Mock репозитории?

2 ответов

9 просмотров

Бывает да. Бывает нет. Я не понимаю вопрос

Andrii Dembitskyi
Бывает да. Бывает нет. Я не понимаю вопрос

Добрый день, Может кто сталкивался, встроенный EntityUserProvider не хочет использовать мой способ загрузки пользователей Делал по мануалу https://symfony.com/doc/5.4/security/user_providers.html Symfony 5.4 В логе запросов к БД всё равно вижу, что запросы включают в себя все поля энтити User, хотя я указал выборку только этих полей: array $fetchFields = ['id', 'uuid', 'login', 'roles', 'password', 'email', 'created_at'] Конфигурация: security: providers: app_user_provider: entity: class: App\Entity\User firewalls: client: lazy: true provider: app_user_provider App\Entity\User: <?php namespace App\Entity; use ...; #[ORM\Entity(repositoryClass: \App\Repository\UserRepository::class)] class User implements UserInterface, PasswordAuthenticatedUserInterface { .... } App\Repository\UserRepository: <?php namespace App\Repository; use App\Entity\User; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\Persistence\ManagerRegistry; use Symfony\Bridge\Doctrine\Security\User\UserLoaderInterface; class UserRepository extends ServiceEntityRepository implements UserLoaderInterface { public function __construct(ManagerRegistry $registry) { parent::__construct($registry, User::class); } public function loadUserByIdentifier(string $identifier, array $fetchFields = ['id', 'uuid', 'login', 'roles', 'password', 'email', 'created_at']): User|null { $fetchFields = array_map(static fn($value) => sprintf('"u"."%s"', $value), $fetchFields); $sqlColumns = join(', ', $fetchFields); return $this ->_em ->createNativeQuery( sql: <<<TEXT SELECT {$sqlColumns} FROM "users" AS "u" WHERE "u"."login" = :login TEXT, rsm: makeDoctrineRsm(User::class, $fetchFields) ) ->setParameter(':login', $identifier) ->getOneOrNullResult(); } public function loadUserByUsername(string $username, array $fetchFields = ['id', 'uuid', 'login', 'roles', 'password', 'email', 'created_at']): User|null { return $this->loadUserByIdentifier($username, $fetchFields); } }

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта