Codeception / Codeception/module-doctrine
haveFakeRepository from Doctrine module doesn't work
- Dominant language
- PHP
- Stars
- 4
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
#### What are you trying to achieve?
Mock repository with haveFakeRepository method from Doctrine module.
#### What do you get instead?
> Provide console output if related. Use `-vvv` mode for more details.
```bash
[Warning] Repository can't be mocked, the EventManager's repositoryFactory doesn't have "repositoryList" property
```
> Provide test source code if related
```php
$I->haveFakeRepository('App\Entity\User', array('findOneBy' => function ($args) use ($user) {
return $user;
}));
```
### Details
* Codeception version: 2.4.1
* PHP Version: 7.2.4
* Operating System: 16.04.1-Ubuntu
* Installation type: Composer
* List of installed packages (`composer show`)
```bash
doctrine/orm v2.5.13 Object-Relational-Mapper for PHP
symfony/framework-bundle v4.0.8 Symfony FrameworkBundle
```
* Suite configuration:
```yml
actor: ApiTester
modules:
enabled:
- Symfony:
app_path: src
environment: test
params: .env
- REST:
url: /api
depends: Symfony
- Doctrine2:
depends: Symfony
- \Helper\Api```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at the Doctrine module's haveFakeRepository method and trace the EventManager repositoryFactory handling that produces the missing "repositoryList" warning. Reproduce the issue with the shown Codeception, Doctrine ORM, Symfony, PHP, and suite configuration; done means the App\Entity\User repository can be mocked as shown without the warning.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100